-1

我想动态地同时更新字段的类别和英文栏

我正在尝试更新表数据,但此代码不起作用。

String query6 = "UPDATE `tagger`.`postag` SET category='"+"sqll"+" and english='"+"sql"+"";
psmt1 = conn2.prepareStatement(query6);
psmt1.setString(1,sql);
psmt1.setString(2,sqll);
psmt1.executeUpdate(query6);
4

2 回答 2

0

它应该是:

String query6 = "UPDATE tagger.postag SET category=?, english=?";

(逗号而不是AND,许多 RDBMS 期望参数的问号,其他人想要$1并且$2哪个是String query6 = "UPDATE tagger.postag SET category=$1, english=$2";

顺便说一句,我强烈建议您不要连接带引号的字符串。它使您的代码看起来不像准备好的语句并且难以阅读。

于 2013-10-22T09:16:19.523 回答
0

为什么在使用时要进行字符串连接PreparedStatement
PreparedStatement很简单,只需使用?占位符

在执行 PreparedStatement 对象之前,您必须提供值来代替问号 (?) 占位符(如果有的话)。通过调用 PreparedStatement 类中定义的 setter 方法之一来执行此操作。

String query6 = "UPDATE tagger.postag SET category=? and english=?";
                                                   ↑             ↑
psmt1 = conn2.prepareStatement(query6);
psmt1.setString(1,sql);
psmt1.setString(2,sqll);
psmt1.executeUpdate(query6);  
于 2013-10-22T13:05:36.937 回答