且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

System.InvalidOperationException: ConnectionString 属性尚未初始化。

更新时间:2022-09-03 21:09:37

C#使用OleDB操作ACCESS
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + NewFileName + “;User Id=uid;Jet OLEDB:Database Password=pwd;”;

完整错误信息:
{System.InvalidOperationException: ConnectionString 属性尚未初始化。
在 System.Data.OleDb.OleDbConnection.PermissionDemand()
在 System.Data.OleDb.OleDbConnectionFactory.PermissionDemand(DbConnection outerConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
在 Public.DB.GetDataTable(String Sql) 位置 Public\DB.cs:行号 44
在 MyIni.DBUpgrade1() 位置 Program.cs:行号 348
在 Program.Main() 位置 Program.cs:行号 738}

错误原因:
ConnectionString 属性尚未初始化。只创建了Connection对象,没有设置Connection对象的ConnectionString 属性;

解决方法:
设置Connection对象的ConnectionString 属性,例如下面的代码:

 Connection.ConnectionString  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "这里是你的ACCESS数据库文件的路径"+  ";User Id=uid;Jet OLEDB:Database Password=pwd;";

如果数据 库没有密码,则不需要添加后面的“User Id=uid;Jet OLEDB:Database Password=pwd;”。