此类语句

时间:2016-07-03 14:10:41

标签: java android sql-server-2008 jdbc jtds

PreparedStatement pstmt;
for (int i = 0; i < cnt; i++) {
    String squery = "insert into response(seat_no,question_no,ans_opt,screenshot) values(?,?,?,?)";
    pstmt = con.prepareStatement(squery);
    pstmt.setString(1, cd.getseat());// This is for fetching seat number
    pstmt.setInt(2, i + 1);// This is for question number
    pstmt.setString(3, res[i].getAns());//This is for rensponse answer
    pstmt.setBytes(4, res[i].getScshot());// This is for screenshot byte array
    int num = pstmt.executeUpdate(squery);
    Toast.makeText(getApplicationContext(), String.valueOf(num), Toast.LENGTH_SHORT).show();
}

我在Sql server 2008 R2中的表

响应表

seat_no nVARCHAR(MAX);

question_no int;

ans_opt text;

截图;

在插入时出现错误,例如“此类声明不支持使用executeUpdate(String)方法”

1 个答案:

答案 0 :(得分:3)

您在准备语句时已经指定了SQL:

pstmt = con.prepareStatement(squery);

您不应该使用Statement.executeUpdate(String) - 而是使用无参数executeUpdate()方法:

int num = pstmt.executeUpdate();

您可能还想考虑重复使用相同的PreparedStatement进行多次调用,或者使用addBatch一次执行多个更新。

相关问题