Я хочу поиск на основе siteid(integer)
, refrenceno
и oldrefrenceno
от account(table)
, но мои запросы поиска только refrencno(varchar(15))
и oldrefrenceno(varchar(50))
. Он ничего не показывает, когда пользователь вводит siteid
для поиска данных.SQL поиска, где положения
Statement pst=null;
pst=ccn.createStatement();
String a=txt_search.getText();
String sql = "";
try {
int s = Integer.parseInt(siteid.getText());
sql ="select * from account WHERE siteid ="+s+" refrenceno='"+a+"' or oldrefrenceno='"+a+"' ";
}catch (Exception ex){
sql ="select * from account WHERE refrenceno='"+a+"' or oldrefrenceno='"+a+"' ";
}
ResultSet rs=pst.executeQuery(sql);
так, что является исключением, что вы ловли? –
Почему вы отбрасываете siteid.getText() из строки в int и затем снова добавляете ее в строку? – Mono
Построение запроса с конкатенацией строк является плохой практикой, так как позволяет [SQL-инъекции] (https://en.wikipedia.org/wiki/SQL_injection). Вместо этого используйте [подготовленный оператор] (https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html). – TEXHIK