【发布时间】:2015-10-12 03:51:19
【问题描述】:
所以我有以下代码:
public static void WriteToDatabase(string sql,string value,int Amount, string URL)
{
int times = int.Parse(((dr)[dt.Columns[1]]).ToString()) + Amount;
sql = "UPDATE Words "+
" SET Amount = " + times +
" WHERE Word = " + value +
" AND Website = " + URL + ";";
myAdp = new OleDbDataAdapter();
myAdp.InsertCommand = new OleDbCommand(sql, myConn);
myAdp.InsertCommand.ExecuteNonQuery();
}
应该更新预制 Microsoft Access 2007 文件中的值, 并且每当我运行代码时,它们都会发生 OleDb 异常:
在 System.Data.dll 中发生了“System.Data.OleDb.OleDbException”类型的未处理异常, 查询表达式中缺少运算符的语法错误:'Word = meta AND Website = http://www.twitch.tv/directory'。” "
所以我在网上搜索了可能发生的常见错误,但我找不到任何错误, 如果有人能在 sql 中找到错误,我会很高兴。 谢谢。
【问题讨论】:
-
您需要在字符串文字周围加上单引号:
... where word = 'MyWord' and ...ALSO:如果这是用于 Web 应用程序,您绝对应该使用参数(而不是“原始插入”):blogs.msdn.com/b/sqlphp/archive/2008/09/30/…