0

次のようなストアド関数を呼び出しています。

PreparedStatement deleteAll=connection.prepareStatement("{ call delete_all_data() }");
deleteAll.execute();

そして、ログに次のように表示されます:

15:16:31,950  WARN SqlExceptionHelper:143 - SQL Error: 0, SQLState: 42601
15:16:31,950 ERROR SqlExceptionHelper:144 - ERROR: syntax error at or near "{"
  Position: 1

prepareStatement の何が問題になっていますか??

4

2 に答える 2

2

prepareCall を使用してストアド プロシージャを呼び出します。

String SQL = "{call delete_all_data()}";
cstmt = conn.prepareCall (SQL);
于 2014-11-24T15:26:42.273 に答える
2

connection.prepareStatement(SQL を想定) を に変更しconnection.prepareCallます。CallableStatementaは a であるため、必要な変更はこれだけかもしれませんPreparedStatement

于 2014-11-24T15:25:28.373 に答える