ユーザーが値を入力できるフィールドは3つあります。彼はシステムが何かを返すために少なくとも1つの値を入力しなければならない。SQLプリペアドステートメントのパラメータを動的に設定する方法
私は、ユーザが入力したボックスのどれに基づいてWHERE句を動的に構築する必要があります。
パラメータ値の設定に苦労しています。
これは私がこれまで持っているものです。
StringBuilder queryStr = new StringBuilder();
Object param[];
int paramCount = 0;
Database db = (Database) ssb.getObject("db");
queryStr.append("SELECT * FROM tblData ");
queryStr.append("WHERE deleted != 1 ");
if(!field1.equals("")){
queryStr.append("AND field1 = ? ");
paramCount++;
}
if(!field2.equals("")){
queryStr.append("AND field2 = ? ");
paramCount++;
}
if(!field3.equals("")){
queryStr.append("AND field3 = ? ");
paramCount++;
}
param = new Object[paramCount];
for (int i=0; i <= paramCount; ++i)
param[i] = field1; <-- ????
db.queryPS(queryString.toString(), param);