3

SQL クエリは MySQL データベースでは正常に機能しますが、JDBC で同じクエリを使用すると、次のようになります。

SQL 構文にエラーがあります。1 行目の「Foods Ltd AND clsp_stockexchange=bse GROUP BY CLSP_DATEOFTRADE」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

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 に答える