我已经查看了其他stackoverflow线程以获得此问题的答案。我看到的主要是它是由错别字引起的,虽然我在这种方法中看不到任何东西。此方法从同一个类中的另一个方法调用,并在运行时返回错误:
java.sql.SQLException:没有为参数1指定值
我班的代码在这里:
public void WriteTag(String tagPrefix, String tagName, String tagContent)
{
try {
String query = String.format("INSERT INTO %s(%s,%s) VALUES(?,?)",
tagPrefix, TAGNAME_COLUMN, TAGCONTENT_COLUMN);
PreparedStatement sqlStatement = connection.prepareStatement(query);
sqlStatement.setString(1, tagName);
sqlStatement.setString(2, tagContent);
//sqlStatement.executeUpdate();
} catch(Exception e) {HandleException(e);}
}
我不确定这里有什么问题。常量在代码中的其他地方正确定义。有谁看到我做错了什么?
答案 0 :(得分:-1)
试试这个
String query = "Insert into foo (foo1,foo2) Values (?,?)";
PreparedStatement pst = connection.prepareStatement(query);
pst.setString(1, whatever);
pst.setString(2, whatever);
pst.executeUpdate(); // this is actually important in order to get data inserted into database.
技术上硬编码数据库中的表名。它应该工作。