Поиск Java oracle

#java #oracle #search #drop-down-menu

#java #Oracle #Поиск #выпадающее меню

Вопрос:

У меня есть выпадающее меню, в котором есть список имен столбцов из определенной таблицы в базе данных, и у меня есть текстовое поле, в котором пользователь может ввести то, что ищет. Пользователь сначала выбирает столбец из выпадающего меню и вводит в текстовое поле то, что он / она ищет. Я немного растерялся, как я могу сопоставить имя столбца выпадающего списка и строку текстового поля для поиска в определенном столбце в базе данных Oracle.. Любой пример кода или предложение были бы полезны.. Спасибо

Комментарии:

1. Это Swing-приложение или веб-приложение?

Ответ №1:

    String colname = request.getParameter("colname");//get the column name from teh dropdown
   String value = request.getParameter("value");//get the value that the user entered

   PreparedStatement searchQuery = null;
   String searchString = String.format("Select * from yourtable where %s = ?", colname);

   //create a connection , say con
    searchQuery = con.prepareStatement(searchString);
    searchQuery.setString(1, value);

    ReultSet rs = searchQuery.executeQuery();
  

Это решение является лишь базовой идеей, поэтому вам нужно изменить его в соответствии с требованиями. Если столбцы, которые вы ищете, имеют разные типы, то вы должны учитывать это.

Комментарии:

1. 1 но я хотел бы отметить, что это подвергает приложение уязвимости при внедрении SQL. Следует также позаботиться о проверке параметров запроса.

2. Согласовано с уязвимостью SQL-инъекции. Было бы лучше, если бы у вас была проверка значения в colname , чтобы подтвердить, что это действительно столбец. Проверка USER_TAB_COLUMNS представления была бы хорошей идеей, или перечисленный список допустимых имен столбцов мог бы быть еще лучше.