【问题标题】:Sql statement Java between 2 tables and 2 values ( variables)2个表和2个值(变量)之间的sql语句Java
【发布时间】:2013-04-10 15:52:17
【问题描述】:

我正在尝试执行以下操作,但它不接受它。

String sql_eco = "select * from orders where EmployeeID=" +e_ID + " and CustomerID ="' + cu_ID + "'";

从两个表和两个值(变量)中选择

【问题讨论】:

  • CustomerID 是 varchar 列吗?
  • 但是第二张桌子在哪里???!!!
  • 请使用PreparedStatement,而不是连接您的查询。它可以保护您免受 SQL 注入,并让您的生活更轻松。

标签: java mysql sql select jdbc


【解决方案1】:

试试这个:

String sql_eco = "select * +
                  from orders +
                  where EmployeeID=" +e_ID + " and CustomerID ='" + cu_ID + "'";   
                                                               ^                                                                         

【讨论】:

    【解决方案2】:

    试一试,假设CustomerIDEmployeeID 都是Integer 列类型

    String sql_eco = "select * from orders where EmployeeID=" +e_ID + " and CustomerID =" + cu_ID;
    

    【讨论】:

      【解决方案3】:

      使用这个。您放错了 " for CustomerId

      String sql_eco = "select * from orders where EmployeeID=" +e_ID + " and CustomerID ='" + cu_ID + "'";
      

      【讨论】:

        【解决方案4】:

        值变量你想说这样的话吗?

        String sql_eco = "select * +
                          from orders +
                          where 1=1 ";
        if(e_ID  != null) {
         sql_eco += " AND EmployeeID=" +e_ID ;
        }
        if(cu_ID  != null){
         sql_eco  += " and CustomerID ='" + cu_ID + "'";  
        }
        

        要改进此代码,您可以使用stringbuilder/stringbuffer

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-12-21
          • 2015-11-16
          • 2018-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多