【问题标题】:any ideas to solve it?有什么想法可以解决吗?
【发布时间】:2015-01-24 11:10:03
【问题描述】:

这是我收到的消息 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“complex.cox_Id='1”附近使用正确的语法

            Class.forName("com.mysql.jdbc.Driver");
           Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/optimalcms","root","123456");
                   Statement st=conn.createStatement();
                     PreparedStatement pst; 
                     Object item = RenterRevealeds_ComplexName_ComboBox.getSelectedItem();
                    int value = ((Item)item).getId(); 


            String sql="Select complex.cox_name as 'أسم المجمع',complex.cox_bld_num as 'رقم المجمع',client.clnt_name as 'أسم المسأجر',client.clnt_phone_number as 'رقم هاتف المستأجر',office.ofc_num as 'رقم المكتب',status.status_ofc_status as 'حالةالمكتب'"
                    + "from client"
                    + "INNER JOIN office ON office.ofc_Id = client.clnt_ofc_Id "
                    + "INNER JOIN complex ON complex.cox_Id = client.clnt_cox_Id"
                    + "INNER JOIN status ON status.status_Id = office.ofc_status_Id"
                    + "WHERE complex.cox_Id='"+value+"'";
            pst= conn.prepareStatement(sql);
            ResultSet rs;
            rs=pst.executeQuery();
            jTable1.setModel(DbUtils.resultSetToTableModel(rs));
           conn.close();

【问题讨论】:

  • 我会说您的 SQL 语法有错误,您应该查看 MySQL 文档以了解要使用的正确语法。 (在运行之前打印查询应该可以帮助您查看程序发送到 MySQL 的内容以及错误的原因)
  • 您确实意识到在 sql 查询中这样的字符串连接会使您的程序对 sql 注入攻击敞开大门?
  • 我确实在运行程序及其工作之前检查了查询

标签: java mysql netbeans


【解决方案1】:

不要忘记在单词之间添加空格:

"INNER JOIN complex ON complex.cox_Id = client.clnt_cox_Id"

应该有一个尾随空格,例如:

"INNER JOIN complex ON complex.cox_Id = client.clnt_cox_Id "

还有下一行(以及第一行和第二行)。

【讨论】:

  • 我编辑了我的答案(有更多地方缺少空格)。无论如何,如果这不起作用,请尝试在将其切碎之前将查询写在一行中,然后尝试在程序外部(在数据库管理界面中)再次运行 MySql 以查看它是否有效。
猜你喜欢
  • 2019-05-24
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2021-01-17
  • 2020-01-25
相关资源
最近更新 更多