3

SQL 查询在 MySQL 数据库中工作正常,但是当我在 JDBC 中使用相同的查询时,我得到:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“Foods Ltd AND clsp_stockexchange=bse GROUP BY CLSP_DATEOFTRADE”附近使用正确的语法

MySQL 版本为 5.0。我的 jdbc 代码:

Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
String query = "SELECT  max(CLSP_DATEOFTRADE) AS TradeDate,CLSP_CLOSEPRICE FROM     stock.clccompany1 LEFT JOIN stock.clsp1 ON clccompany1.clcm_clsm_keyid=clsp1.clsp_clcm_keyid WHERE clcm_nameofthecompany=ADF Foods Ltd AND clsp_stockexchange=bse GROUP BY CLSP_DATEOFTRADE";
Statement st = conn.createStatement();
ResultSet  rs = st.executeQuery(query);
while(rs.next())
{
    String s1=rs.getString(1);
    String s2=rs.getString(2);
    out.print(s1);
    out.print(s2);
}
4

1 回答 1

1

我对where子句有问题

WHERE clcm_nameofthecompany = ADF Foods Ltd 
  AND clsp_stockexchange=bse 
GROUP BY CLSP_DATEOFTRADE

它需要用报价包装 ADF Foods Ltd。作为

WHERE clcm_nameofthecompany = 'ADF Foods Ltd' 
     AND clsp_stockexchange=bse 
GROUP BY CLSP_DATEOFTRADE
于 2013-07-29T11:42:00.017 回答