【问题标题】:Update sql java doesn't work更新sql java不起作用
【发布时间】:2015-11-17 18:20:14
【问题描述】:

我正在开发 Java 应用程序并努力更新 SQLite 数据库中的记录,但它不起作用..顺便说一句,它没有给我任何异常或错误

 String sql="update Food_Fresh set available=? where Type_ID =?";
             st=con.prepareStatement(sql);
             st.setInt(1, 1);
             st.setInt(2, num);
             st.executeUpdate();

             st.close();

有什么问题?!

更新 是的,sql的初始化

try{
        Class.forName("org.sqlite.JDBC");
        Connection con=DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Shatha2012\\Desktop\\Core\\IT\\Graduation Project\\Code\\New folder\\Food\\src\\Food\\Food.sqlite");
        JOptionPane.showMessageDialog(null, "DONE");
        return con;
    }
    catch(Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
        return null;
    }
}

并且提交设置为自动提交

【问题讨论】:

  • 问题可能出在很多地方。请尝试打印出最终的 SQL(就在 st.executeUpdate() 之前),然后将该查询直接运行到 SQLite 中。
  • 您确定要提交交易吗?
  • 疯狂猜测:切换参数 1 和 2。对于不同的 Id(命名为 num?!),您始终将金额提交为 1(命名为 num?!)
  • 您确定“sql”已正确初始化吗?你能告诉我们你是如何初始化它的吗?
  • 我已经更新了Q.,,检查一下

标签: java sqlite sql-update


【解决方案1】:

也许您的数据库中没有 Type_ID = num 的记录? 检查executeUpdate()返回的值

int i = st.executeUpdate();

它会显示更新的记录数

【讨论】:

  • 大约是 20 .. 但是当我检查数据库时...没有任何变化!
猜你喜欢
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
  • 2021-07-25
  • 1970-01-01
相关资源
最近更新 更多