2016-06-03 5 views
0

Мне нравится менять старый на новый, а мой старый sql-запрос его в инструкции, и мне нравится переходить в подготовленный оператор. как я могу измениться? , например:Как преобразовать инструкцию в PreparedStatement в JAVA

*

strSql = "SELECT Id as GroupId, Name,Description FROM Groupcodes WHERE deleteFlag=0 and GroupType = '" + StrGroupType + "' "; 
if(strSearchBy.length() > 0 && strSearchText.length() > 0) 
     { 
      if(strSearchOption.equalsIgnoreCase("Starts With")) { 
       strSql += " AND " + strSearchBy + " LIKE '" + strSearchText + "%' "; 
      } 
      else if(strSearchOption.equalsIgnoreCase("Contains")){ 
       strSql += " AND " + strSearchBy + " LIKE '%" + strSearchText + "%'" ; 
      } 
     } 

     strSql += " ORDER BY Name ASC"; 

     if(nCounter > 0) { 
      strSql += " LIMIT " + (nCounter - 1) + ", " + nMaxCount; 
     } 

*

когда вы учите для этого примера, то я буду делать для предстоящих кодов.

ответ

0

Вы сделать это следующим образом:

PreparedStatement mStatement = getDBTransaction().createPreparedStatement("select * from test_table where user_id = ?", 0); 
    mStatement.setString(1, "4913"); 
    ResultSet rs = mStatement.executeQuery(); 

поле '?' character параметризует запрос, а позже u устанавливает его значение с помощью setString. Обратите внимание, что в функции setstring первый параметр указывается индексом 1 (не 0). Также обратите внимание, что u не нужно '', если ваше место сравнивается с varchars

+0

ладно спасибо. я изменю GroupType =? например, и strSearchby - это имя столбца и как его использовать? для этого . –

+0

То же самое что-то вроде: PreparedStatement mStatement = getDBTransaction(). CreatePreparedStatement ("select * from test_table где strSearchby =?", 0); – user3712476

+0

да для этого выше примера и strSearchBy - это строка, так как изменить, а grouptype - это имя столбца, поэтому мы используем? для этого, но я объявляю строку настолько запутанной –

Смежные вопросы