2013-12-13 95 views
-1

我有这个查询来更新一个行,但即时得到一个SQL语法错误“靠近WHERE”,但我或我的朋友都不知道问题是什么。WHERE附近的Sql语法错误

rowstandard是一个字符串,指定要选择哪一行。而row是一个数组,其更新的值应该是UPDATED。

query = "UPDATE "+ tablename +" WHERE " + FirstColumn + " = '" + rowstandard + "' VALUES("+row+")"; 
+4

你忘了'SET'关键字 - 要更新的列。 –

+0

您正在'UPDATE'与'INSERT' – Habib

+0

也相关:http://xkcd.com/327/ – zapl

回答

2

看起来你有这样的事情结束了:

UPDATE mytable WHERE cname = 'dsfsdf' VALUES('dfssdffs'); 

这是不对的。它必须是这样的:

UPDATE mytable SET cname = 'dfsafdsf' WHERE cname = 'foobar'; 
+0

但在你的例子中你只改变一列,我需要我的动态改变所有的列,因为不同的表有差异列的数量。 – Looptech

0

你的更新语句应该这样做:

query = "UPDATE " + tablename + " SET " + columnname + " = '" + value + "' WHERE " + colmnname2 " = '" + value2 + "'"; 
+0

如果你有一个动态数据库,这是否工作? – Looptech