MySQL は「NULL」の代わりに「IS NULL」を使用するため、変数をバインドして同じことを達成するにはどうすればよいですか?
今、私はこれで試しました
selectStmt.setNull( 2, java.sql.Types.VARCHAR );
「java.sql.Types.VARCHAR」を印刷すると、値= 12が表示されますか? もしそうなら、これはどのようにプリペアドステートメントで「IS NULL」を設定しますか?
詳細:
つまり、入力に string = " " がある場合、null のクエリ (MySQL) に興味があります。ロジックは次のようになります。
Connection c = SQLCon.connect();
PreparedStatement selectStmt = c.prepareStatement( "select * from "
+ TableName
+ " where P = ? AND M = ? AND PR = ? AND DR = ? " );
if ( P.trim().equals( "" ) )
{
selectStmt.setNull( 1, java.sql.Types.VARCHAR );
} else
{
selectStmt.setString( 1, P );
}
if ( M.trim().equals( "" ) )
{
selectStmt.setNull( 2, java.sql.Types.VARCHAR );
} else
{
selectStmt.setString( 2, M );
}
ご意見をお聞かせください