java中的mysql语句没有执行

时间:2014-04-10 08:21:06

标签: java mysql

我在Java中有一个函数,用于更新mysql数据库中表的描述字段和标题字段,如下所示:

public void updateDescription( String desc, String title, int urlid ) throws SQLException, IOException {
    String cutDesc = desc.substring(0, 99);
    Statement stat = connection.createStatement();
    String query = "UPDATE urls SET description = '"+cutDesc+"', title = '"+title+"' WHERE urlid =" + urlid;
    stat.executeUpdate( query );
    stat.close();
}

使用以下方法调用此函数时:

updateDescription(desc, title, urlID);

表中没有任何内容。没有错误,它似乎忽略了它。有什么想法吗?

由于

3 个答案:

答案 0 :(得分:1)

你说没有任何东西放在桌子上。

但是UPDATE没有把东西放到表中 - 它只修改已经存在的行。您需要使用INSERT代替UPDATE

答案 1 :(得分:0)

connection.commit();

connection.setAutoCommit(true);

应该有帮助。

答案 2 :(得分:0)

public void updateDescription( String desc, String title, int urlid ) throws SQLException, IOException {
    String cutDesc = desc.substring(0, 99);
    Statement stat = connection.createStatement();
    String query = "UPDATE urls SET description = '"+cutDesc+"', title = '"+title+"' WHERE urlid ='" + urlid+"'";
    stat.executeUpdate( query );
    stat.close();
}

尝试上面的代码,因为您已经声明urlid在数据库中是VARCHAR