我在插入Access 2010數據庫時遇到此異常。在C中插入Access 2010的例外夏普
實施例,執行以下操作:
INSERT INTO CranbrookMain (
ID,BlockNo,Plot,SubPlot,Code,Type,LastName,FirstName,
ServiceHome,ServiceAddress,ServiceCity,
Notes
) VALUES (
'1','Y','37','DS','C2','O','SMITH','John',
'Service Inc.','520B SLATER ROAD N.W.','CityName',
'CityName ☺ '
)
結果在異常:
Ex: System.Data.OleDb.OleDbException (0x80040E14): Syntax error in string in query expression ''CityName ☺'. at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at ReadingData.Program.Main(String[] args) in C:\Users\user\documents\visual studio 2010\Projects\ReadingData\ReadingData\Program.cs:line 238
執行SQL插入查詢的代碼是:
insertSQL = "INSERT INTO CranbrookMain (ID,BlockNo,Plot,SubPlot,Code,Type,LastName," +
"FirstName,ServiceHome,ServiceAddress,ServiceCity,Notes) VALUES (" +
"'"+id+ "','" + blockNo + "','" + plot + "','" + subPlot + "','" + code +
"','" + type + "','" + lastname + "','" + firstname + "','" + serviceHome +
"','" + serviceAddress + "','" + serviceCity + "','" + notes +"')";
OleDbCommand cmd = new OleDbCommand(insertSQL, con); // creating query command
cmd.ExecuteNonQuery();
在cmd.ExecuteNonQuery()
會出現錯誤函數調用。
上面的SQL INSERT語句工作正常,如果我直接在Access 2010文件中執行。
在你的城市名字附近做什麼悲傷的笑臉? – Shoban 2010-12-22 17:42:31
那是來自其中有二進制數據的文件。 – slao 2010-12-22 17:44:09