0
conn = DriverManager.getConnection(connURL);
String sqlStr = "Select * from inventory where functions" + "like ? order by brand, model";

PreparedStatement pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1, "%" + search + "%");
ResultSet rs = pstmt.executeQuery();

こんにちは、 と でこのコードにエラーが発生していline 2ますline 4。私のコーディングにはエラーが含まれていると思います。

SQL クエリが正しくフォーマットされていないのではないかと疑っています。は、値をSQL クエリのpstmt.setStringに設定します。search?

エラー:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''%null%' order by brand, model' at line 1

4

2 に答える 2

0

SQL クエリ宣言の構文が間違っています。そのため、そのエラーが発生しています。間に + を入れるのはなぜですか?

于 2013-05-15T12:20:08.093 に答える
0

試す

conn = DriverManager.getConnection(connURL);//this is bad use a connection pool    
StringBuilder sb = new StringBuilder().append("Select * from inventory where functions");   
sb.append(" like ? order by brand, model");
String sqlStr  = sb.toString().intern();//use intern if this function is used many times
于 2013-05-15T14:57:35.080 に答える