【问题标题】:Insert SQL in Java syntax在 Java 语法中插入 SQL
【发布时间】:2015-03-10 16:20:46
【问题描述】:
try{
    Class.forName("com.mysql.jdbc.Driver");

    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/pizzabaseaccount", "root", "");

    Statement st = con.createStatement();

    String sql ="insert into pizzaorder (PizzaType,PizzaChosen,ToppingsDetails,CrustType,PizzaSize,PizzaQuantities,PizzaTotalPrice)"
        +"values ('"+pizzatype+"','"+pizzachosen+"','"+toppingsdetails+"','"+crusttype+"','"+pizzasize+"','"+pizzaquantities+"','"+totalprice+"')";

    st.executeQuery(sql);

    JOptionPane.showMessageDialog(null, "Order Complete");
}catch (Exception ex) {
    JOptionPane.showMessageDialog(null, "Error");
}

我得到“错误”。它不会在 Pizzabaseaccount 数据库中插入数据。 Pizzaorder 是表名顺便说一句。我不知道代码有什么问题。我是 Java 初学者。顺便说一句,pizzatype、pizzachosen、toppingdetails、crusttype、pizzasize、pizzaquantities 和 totalprice 都是字符串变量。

【问题讨论】:

  • 请使用绑定参数!
  • 抛出了什么错误?调试时发生了什么?字符串sql 创建后的内容是什么?当您尝试其他查询时发生了什么?
  • 永远不要捕获并吞下异常!始终从 catch 块打印堆栈跟踪以识别异常。
  • JOptionPane.showMessageDialog(null, "Error");
  • 什么是绑定参数?

标签: java sql insert


【解决方案1】:

检查 Pizzatype Pizzachosen 和所有其他不包含“'”字符;如果是这样,你应该逃避它。 无论如何,这不是创建 SQL 查询的好方法。 使用绑定参数 --> 阅读 API 参考

【讨论】:

  • 我不知道如何绑定参数。
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 2019-11-28
  • 2021-10-24
  • 2023-04-08
相关资源
最近更新 更多