我正在尝试使用JDBC更新值,并且我继续为不同的表和不同的模式获得相同的错误。
假设我有一张这样的表
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| field1 | varchar(50) | YES | | NULL | |
| field2 | varchar(50) | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
然后,我尝试添加一行:
String Text1 = text1;
String Text2 = text2;
String Query_String = "INSERT INTO tablename(field1,field2) VALUES ('"+Text1+","+Text2+"')";
Query_Statement.executeUpdate(Query_String);
列的数量是相同的,并且在文本中没有其他逗号,但我继续得到错误“java.sql.SQLException:列数与第1行的值计数不匹配”
我确信这很简单,可能是因为我设法让它与单列一起使用...
提前致谢
答案 0 :(得分:7)
有问题:
String Query_String = "INSERT INTO tablename(field1,field2) VALUES ('"+Text1+","+Text2+"')";
你错过了Text1和Text2之间的一些引用:
String Query_String = "INSERT INTO tablename(field1,field2) VALUES ('"+Text1+"','"+Text2+"')";
答案 1 :(得分:3)
String Query_String = "INSERT INTO tablename(field1,field2) VALUES ("'"+Text1+"' , '"+Text2+"');";
它应该这样注意'
这个
PreparedStatement是更好的选择。
答案 2 :(得分:1)
你的报价错了......
将执行以下操作:
INSERT INTO tablename(field1,field2) VALUES ('Text1,Text2');
你必须写:
String Query_String = "INSERT INTO tablename(field1,field2)
VALUES ('"+Text1+"','"+Text2+"')"