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
Post a Comment