我需要在MS Access数据库中创建一个表.考虑一下,'ConfigStructure.mdb'是我的数据库名称,我需要在C#中用这个数据库创建一个表.
我怎样才能做到这一点?我尝试使用下面的代码,但它无法正常工作.
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + frmMain.strFilePath + "\\ConfigStructure.mdb");
myConnection.Open();
string strTemp = " KEY Text, VALUE Text ";
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "CREATE TABLE table1(" + strTemp + ")";
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误,
"System.Data.OleDb.OleDbException: Syntax error in field definition
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)\r\n at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)\r\n at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)\r\n at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)"
Run Code Online (Sandbox Code Playgroud)
Jul*_*lin 15
更换
string strTemp = " KEY Text, VALUE Text ";
Run Code Online (Sandbox Code Playgroud)
同
string strTemp = " [KEY] Text, [VALUE] Text ";
Run Code Online (Sandbox Code Playgroud)
我认为其原因是'KEY'和'VALUE'是Access或SQL中的保留关键字.