私のコード(私はその前に接続している):私の代わりに、JDBC Javaでの私のパラメータ文字列の@POを持って
private String loginPasswordRequest = "SELECT * FROM animateurs WHERE email =?";
public static ResultSet SendRequest(String request, String parameter)throws SQLException{
Connection con = ConnectionToDatabase();
PreparedStatement stmt = con.prepareStatement(request);
stmt.setString(1, "[email protected]"); //parameter
ResultSet result = stmt.executeQuery();
return result;
}
私は、次のリクエスト持っているのリクエストを実行する場合:
SELECT * FROM animateurs WHERE email [email protected]
を
これはSQLServerによって実行される要求です 私のパラメータが表示されない理由はわかりません。 1つのパラメータでselectを作成するだけで済みますが、うまくいきません。
'Statement'と' Connection'が漏れて 'ResultSet'が返ってきましたか、 tはプレースホルダを示しますか? 'emailate'があなたのパラメータにマッチするレコードが' animateurs'テーブルにありますか?クエリはクエリマネージャから機能しますか? –
私はSql Server Managment Studioで1つの結果を得ました。問題は、私の実際のパラメータrigthの代わりにパラメータ@POが実行されて解釈される前に解釈されます。 – SoulM
「動作しません」と定義します。例外が発生した場合(例外が発生した場合)、空の結果を得るか、 ? SQL Serverドライバは、いくつかの前処理を行い、位置パラメータを名前付きパラメータで置き換える(つまり、最初の位置パラメータに '@ P0'を使用する)ように見えます。私の期待は、SQL Serverがパラメータ値を別々に送信するため、(ここではリソースが漏れているという事実を除けば)これが機能することです。 –