java - How to dynamically set parameters for SQL prepared statement -


i have 3 fields user can choose enter values. has enter @ least 1 value system return anything.

i need dynamically build clause based on 1 of boxes user entered value.

i having hard time setting parameter values.

this have far:

stringbuilder querystr = new stringbuilder(); object param[]; int paramcount = 0; database db = (database) ssb.getobject("db");  querystr.append("select * 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];  (int i=0; <= paramcount; ++i)      param[i] = field1; <-- ????  db.queryps(querystring.tostring(), param); 

create list of fields aren't empty.

stringbuilder querystr = new stringbuilder(); list<string> param = new arraylist<>(); database db = (database) ssb.getobject("db");  querystr.append("select * tbldata "); querystr.append("where deleted != 1 ");  string[] fields = { field1, field2, field3 }; (int = 0; < fields.length; i++) {     if (!fields[i].isempty()) {         querystr.append("and field" + (i + 1) + " = ? ");         param.add(fields[i]);     } }  db.queryps(querystring.tostring(), param.toarray()); 

Comments