Mysql и переменные java

Русские Блоги

При использовании jdbc в Java, когда для оператора SQL требуется переменная Java, как использовать кавычки

Сначала настройте базу данных, в которой есть таблица с именем table, которая содержит имя пользователя и пароль.

Предположим, метод входа в систему, который требует имя пользователя user и пароль pwd, функция:

public void login(String usr,String pwd)

Нужно использовать оператор SQL-запроса в функции, передать user и pwd, оператор в mysql в это время:

select * from table where user ="mike" and password = "123456";

В функции Java вам нужно заменить «mike» на «usr» и «123456» на «pwd».

Оператор SQL существует в форме строки в Java, поэтому в соответствии с синтаксисом Java существуют следующие способы:

String sql = "select * from tb where uname = \""+user+"\" and upassword = \""+password+"\";";

В этом методе экранирующие символы используются для экранирования двойных кавычек в простой символ, поэтому поймите это: косая черта \ и первая кавычка, следующая сразу за ней, представляют кавычки в обычных операторах SQL-запросов. Вторая кавычка соответствует кавычке перед выбором.

String sql = "SELECT * FROM tb WHERE uname ='"+user+"' AND upassword = '"+password+"';";

Этот способ заключается в использовании одинарных кавычек и двойных кавычек, чтобы избежать конфликтов, поэтому поймите: одинарные кавычки эквивалентны комбинации косой черты и кавычек \ «в приведенном выше примере, а затем двойные кавычки соответствуют двойным кавычкам перед выбором.

Источник

Вставка переменной в SQL-запрос из Java

Я пытаюсь перечислить ошибки количества. Поэтому, если я ввожу 2, тогда будет отображаться только верхняя часть.

2 ответа

public String getBugList(int amount) < Connection con = DatabaseConnection.getConnection(); String query = "SELECT submitter, report FROM bugs_log ORDER BY id DESC limit ?"; try(PreparedStatement ps = con.prepareStatement(query)) < ps.setInt(1, amount); >> 

Хотя это, казалось бы, правильно, я не могу сказать, что я поклонник этого ответа, потому что он не использует try-with-resources, где эта языковая конструкция идеально подходит (а OP использует его).

@Vulcan Моя компания использовала Java 6 до того момента, как 2 недели назад . мы наконец-то обновились до Java 7, но давайте просто скажем, что я пишу код, который будет компилироваться, когда Джей Гослинг был еще молодым человеком.

Положите? в желаемом месте переменной. Затем из этого API вызовите метод set для типа переменной.

В вашем случае вам нужен int, поэтому вызовите ps.setInt(1,x) . Если вам нужно несколько переменных, или в терминах SQL «параметр» — просто используйте несколько ? . Для методов setprementStatement требуется индекс параметров. Максимальный индекс равен количеству ? , которое у вас есть в вашем запросе.

Ещё вопросы

  • 0 Установка background-position с помощью jQuery
  • 0 Как предотвратить повторную инициализацию Google Hash
  • 1 Раскраска арабского текста в Textview выглядит отдельно
  • 1 Java — фальшивые мышиные события без окна фокусировки
  • 1 Веб API зарезервированные слова?
  • 1 Как сохранить запрос в переменных с помощью C #?
  • 0 Отправка даты и времени из Android в MySQL
  • 1 Сборка приложения Flutter не выполняется, нужна помощь для устранения зависимостей
  • 1 Исключение с 64-битным модульным тестом в Visual Studio 2008 Professional
  • 0 Опция пользовательского пейджера Bxslider
  • 0 Программа C ++ не будет собираться. Получение неопределенных символов для ошибки архитектуры
  • 1 RadioButton выравнивает текст по левой стороне и кнопку вправо
  • 0 работающий транспортир вызывает npm ERR! странная ошибка 8
  • 0 Есть ли инструмент для анализа, какой файл JavaScript добавил определенную часть HTML / кода?
  • 0 Разбивка на страницы для FooTable: плагин jQuery для адаптивных таблиц данных
  • 1 Firestore, как получить данные из пожарного магазина в представлении переработчика
  • 0 MySQL 5.7.20 не может установить пароль root
  • 0 используя jQuery, чтобы снять все флажки, а затем проверить установленный
  • 0 Как получить данные результата в запросе углового обещания?
  • 0 ruby on rails: -страница автоматически перенаправляется
  • 0 Стек Mean.js — экспорт.читайте с помощью функций findOne и find, вызывайте в Angularjs
  • 0 Оператор перегрузки >>
  • 0 Создать хлебную крошку с angularjs
  • 0 Как выбрать элемент кроме его дочерних элементов?
  • 0 Вызов href из JavaScript
  • 1 API Route доступен с любым токеном JWT + PASSPORT
  • 0 Ошибка проверки angularjs для поля ввода
  • 0 getaddrinfo () возвращает ошибку «Запрошенное имя допустимо, но данные запрошенного типа не найдены».
  • 0 MySQL запрос поиска в левом соединении, которые имеют условие, связанное со столбцом
  • 0 Невозможно получить более 15 строк в angularjs
  • 1 Проверьте, все ли значения на карте равны нулю
  • 0 windows.location.replace всегда перенаправлять, добавить IF
  • 1 pyAudio начинает потоковую передачу до вызова start_stream
  • 1 Как изменить цвет легенды в чартах и добавить еще одну легенду?
  • 1 Сервер совершил нарушение протокола. Section = ResponseStatusLine в c #
  • 0 Получение данных JSON в таблицу в angularjs
  • 1 Как остановить службу переднего плана перед вызовом метода startForeground ()?
  • 1 Почему ввод None в интерактивном Python ничего не печатает? [Дубликат]
  • 0 Предпосылки для горизонтального центрирования элемента с полем: 0 auto; [Дубликат]
  • 1 Twitter Bot — node.js — неожиданная ошибка токена
  • 1 Изменение переменной в функции с аргументом
  • 0 Как использовать app / Resources / public в Symfony2
  • 0 Встроенный диалог в Tab Control не может работать во втором диалоге, MFC
  • 1 Удалить пробелы из первого и последнего символа в заголовках нескольких размеров
  • 1 Регулярное выражение, чтобы соответствовать только когда определенные символы следуют за строкой
  • 0 почему консольная печать в обратном порядке, чем загрузка скрипта?
  • 1 Как использовать sqlite в качестве строкового ресурса вместо strings.xml для языка?
  • 0 Как отредактировать значение 3 метки после нажатия на HREF с Javascript?
  • 0 получить идентификатор / имя класса по клику и сохранить текстовый файл на сервере с идентификатором / классом в качестве имени файла
  • 1 Изменение состояния веб-приложения во время выполнения

Источник

use java variable in sql query

hey. I have a question. this seems such a trivial question but please help me. I’m trying to use a java variable ex:-
int x=request.getParameter(ID) and then use it in an sql query,like, select name,date,tel_no from items where it doesn’t work. im very new to sql and jsp. so please help me get around this..thanks in advance 🙂 (I’m using jsp pages in netbeans)

  • 3 Contributors
  • 2 Replies
  • 12K Views
  • 11 Months Discussion Span
  • Latest Post 12 Years Ago Latest Post by cliver

If you looked into the post on the top of JSP section you would find 2 of few options how to do it.
Simple by hacking together SQL query string such as this Statement example

Statement stmt = null; String strQuery = "SELECT u.uid, firstName, lastName, address1, …

All 2 Replies

If you looked into the post on the top of JSP section you would find 2 of few options how to do it.
Simple by hacking together SQL query string such as this Statement example

Statement stmt = null; String strQuery = "SELECT u.uid, firstName, lastName, address1, address2, city, postCode, email, phone, ug.groupName as userGroup " +"FROM user u, usergroup ug WHERE uid='"+userName+"' AND password='"+password+"' AND groupName IN" +" (SELECT groupName FROM usergroup WHERE groupid =(SELECT groupid FROM usergroup_mapping WHERE uid=u.uid))"; stmt = conn.createStatement(); rs = stmt.executeQuery( strQuery);

which is the most basic and most error prone as the single and double quotes including plus sign to join strings could become quickly very confusing with complex queries. Or perhaps with use PreparedStatement which is cleaner

PreparedStatement preparedStatement = null; String strQuery = "SELECT u.uid, firstName, lastName, address1, address2, city, postCode, email, phone, ug.groupName as userGroup " +"FROM user u, usergroup ug WHERE uid=? AND password=? AND groupName IN" +" (SELECT groupName FROM usergroup WHERE groupid =(SELECT groupid FROM usergroup_mapping WHERE uid=u.uid))"; preparedStatement = conn.prepareStatement(strQuery); preparedStatement.setString(1,userName); preparedStatement.setString(2,password); rs = preparedStatement.executeQuery();

where the question marks in the query string are replaced by the values suplied just before executing the query through setString, setInt and similar methods available in this class

Источник

Переменная в запросе

Здравствуйте! Такая задача: я получаю данные из бд таким образом и заполняю таблицу. Так как не могу получив стразу все данные занести их в Tablerview, я получаю и вношу их построчно. Хочу организовать цикл, но не знаю как занести в запрос переменную или функцию. Может есть иной способ?

int i = 3; String query = "select * from mainwin where >;

Переменная в запросе
Есть код. <?php $db = new SQLite3(‘userdb.db’); $results = $db->query(‘SELECT * FROM.

Переменная в запросе
ABSQuery1.SQL.Text := ‘update BAZA set NAME = "ВАСЯ" ‘; Подскажите как мне вместо ВАСЯ текстовую.

Переменная в запросе
помогите ПЛЗ имеется запрос на кнопке формы. Dim per As String per =.

Переменная в запросе
День добрый. Вопрос, возможно банальный, но всё таки. По ходу пьесы вычисляю параметр — номер.

Эксперт Java

ЦитатаСообщение от Blacko Посмотреть сообщение

ЦитатаСообщение от xoraxax Посмотреть сообщение

вот так я считываю данные и отправляю строки в функцию, считывается все сразу, и функция получат только последнюю строку. Как ни вертела, не могу считать по одной.

1 2 3 4 5 6 7 8 9 10 11 12 13
while (resultSet.next()) { int >getInt(1); String date = resultSet.getString(2); String Firma = resultSet.getString(3); String Content = resultSet.getString(4); String Road = resultSet.getString(5); gi(Id); gd(date); gf(Firma); gc(Content); gr(Road); }

Эксперт Java

во-первых каждую строку таблицы можно сохранить в объект, во-вторых все объекты можно положить в массив, дальше с этим массивом можно делать все, что заблагорассудится

ЦитатаСообщение от xoraxax Посмотреть сообщение

во-первых каждую строку таблицы можно сохранить в объект, во-вторых все объекты можно положить в массив, дальше с этим массивом можно делать все, что заблагорассудится

Имеете в виду массив индексов, дат и т. д.? Или как положить обьект с набором данных и потом допуститься до каждого в отдельности?

Эксперт Java

ЦитатаСообщение от Blacko Посмотреть сообщение

Здравствуйте! Такая задача: я получаю данные из бд таким образом и заполняю таблицу. Так как не могу получив стразу все данные занести их в Tablerview, я получаю и вношу их построчно. Хочу организовать цикл, но не знаю как занести в запрос переменную или функцию. Может есть иной способ?

int i = 3; String query = "select * from mainwin where >;

Источник

Читайте также:  Python get api requests
Оцените статью