2

VS 2010とC#を使用しています。C#でMDBに接続したい。'今まで私がしたことは次のとおりです:

string strAccessConn = "Provider=Microsoft.ACE.OLEDB.4.0;Data Source=C:\\Databases\\"+DBname+".mdb";

DataSet myDataSet = new DataSet();
OleDbConnection myAccessConn = null;

try
{
    myAccessConn = new OleDbConnection(strAccessConn);

    OleDbCommand myAccessCommand = new OleDbCommand(Query, myAccessConn);
    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);

    myAccessConn.Open();
    myDataAdapter.Fill(myDataSet, "Table");
}
catch(Exception Ex)
{
    MessageBox.Show(Ex.ToString());
}
finally
{
    myAccessConn.Close();
}

データベースは有効なデータセットを返します...これはAccess2000データベースの問題ではありません

ただし、接続文字列をに変更すると

string strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Databases\\"+DBname+".mdb";

MSAccess2007の場合、データベースパスが見つからず、存在していても例外が生成されます。参照がありませんか?

4

1 に答える 1

0

Accessデータファイルの拡張子をから.mdbに変更してみてください.accdb

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Databases\\"+DBname+".accdb";

参考のためにconnectionstrings.comを参照してください。

于 2012-05-27T14:09:39.390 に答える