public void SetConnection(string text1, string text2, string text3, string text4, string text5, string text6, string text7)
{
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= c:\\Users\\Clients Information pats.mdb";
database = new OleDbConnection(connectionString);
database.Open();
}
data1 = DataAccess.DatabaseTables("SELECT * from [CLIENTS]", DataAccess.database);
public DataTable DatabaseTables(string QueryString, OleDbConnection DataConnection)
{
OleDbCommand SQLQuery = new OleDbCommand();
DataTable data = null;
SQLQuery.Connection = null;
OleDbDataAdapter dataAdapter = null;
SQLQuery.CommandText = QueryString;
SQLQuery.Connection = DataConnection;
data = new DataTable();
dataAdapter = new OleDbDataAdapter(SQLQuery);
dataAdapter.Fill(data);
return data;
}
获取标题中列出的奇怪错误。 Setconnection设置我的连接字符串和连接确定。然后'data1'调用函数DatabaseTables,它在'dataAdapter.Fill(data);'处调用异常。我认为问题可能是我在我的机器上访问。 mdb将在2013年在我的机器上打开,因为它是早期版本。我安装了Access 2007运行时。打开它,它说只读了我需要更改此属性。然后我尝试以管理员身份打开访问2013,Office 2013自己进行了一些重新配置,现在这个mdb文件总是尝试在访问2013中打开。我现在将尝试重新安装访问2007.是否有可能我需要卸载访问2013或是这可能根本不是访问问题,但可能是我的代码或mdb本身的问题。我从该机器上的Access 2007上打开的服务器上复制了这个mdb文件,但是它试图增强它,因为它显然是一个更早的版本
答案 0 :(得分:1)
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= u:\\Clients Information pats_30may13.accdb;Jet OLEDB:Database Password=MyDbPassword;";
我将源访问数据库升级为accdb格式,并确保我可以在自己的计算机上打开此数据库而不是服务器。我收到通知说升级时出现了一些错误,但似乎没问题。然后我使用了上面的连接字符串 这解决了这个问题。