java.sql.SQLException:列计数与第1行的值计数不匹配

我的桌子的结构:

id int AUTO_INCREMENT PRIMARY KEY title text url text age int 

以下是我试图将数据保存到此表中的方法:

 PreparedStatement ps=con.prepareStatement("insert into table(title, url, age) values ('\"+title+\",\"+url+\",\"+age+\"')"); System.out.println("Connected database successfully.."); ps.executeUpdate(); 

但是当我运行该应用程序,我得到

java.sql.SQLException:列计数与第1行的值计数不匹配

我猜这个问题可能在id列中,如何解决呢?

问题不在于id列。

从声明看来,你有引号围绕所有列。 因此,在SQL看来,你只有一列

 '"title","url","age"' 

你可能想要的是

 "insert into table(title, url, age) values ('" + title + "','" + url + "'," + age + ")" 

甚至更好,因为这是一个准备好的陈述

 "insert into table(title, url, age) values (?, ?, ?)" 

其实,你有一个不同的问题(你只是通过一个“价值”) –

 PreparedStatement ps=con.prepareStatement("insert into table(title, url, age) " + "values (?,?,?)"); ps.setString(1, title); ps.setString(2, url); ps.setInt(3, age); // <-- at a guess! 

你原来的查询把所有三个值放在一个string'\"+title+\",\"+url+\",\"+age+\"'

Interesting Posts