powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / NeeD HelP - запрос INSERT INTO
21 сообщений из 21, страница 1 из 1
NeeD HelP - запрос INSERT INTO
    #34236195
freak_jre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Не могу понять в чем ошибка? не выполняется запрос ...
Вот часть где я обрабатываю грубо событие и данные из формы, которые надо занести в таблицу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 if  (btn_add_msg!="")
            {
                vh_name=request.getParameter("fr_name");
                vh_city=request.getParameter("fr_city");
                vh_mail=request.getParameter("fr_mail");
                vh_icq=request.getParameter("fr_icq");
                vh_msg=request.getParameter("fr_msg");
                 if  (run.isEmpty(vh_name) || run.isEmpty(vh_msg)) 
                    {
                        err="Special textbox is empty.";
                    }  else 
                    {
иначе подключаюсь к базе и делаю запрос
Код: plaintext
1.
2.
3.
con = DriverManager.getConnection("jdbc:mysql://localhost/mybase","root","");
st = con.createStatement ();
ResultSet r = st.executeQuery("INSERT INTO guest ( name , city ) values('"+vh_name+"', '"+vh_city+"')");
и получаю вот такой Exception:
Код: plaintext
1.
java.sql.SQLException: Can not issue data manipulation statements with executeQuery() 

я не правильно делаю запрос ?
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236220
smbdy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
executeUpdate вместо executeQuery
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236223
freak_jre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
smbdyexecuteUpdate вместо executeQuery
сделал и получил:
Код: plaintext
1.
2.
3.
4.
5.
6.
C:\MySite\build\generated\src\org\apache\jsp\msg_005fadd_jsp.java: 106 : incompatible types
found   :  int 
required: java.sql.ResultSet
                                ResultSet r = st.executeUpdate("INSERT INTO guest ( name , city ) values('"+vh_name+"', '"+vh_city+"')");
                                                              ^
 1  error

переменная R каким типом должна быть? - ResultSet?
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236234
smbdy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
executeUpdate возвращает int
совет :
- используй какую нибудь среду разработки (IDEA рулит =))) ) + javadoc
- вместо statement - preparedStatement - почему ? почитай.
- почитай о sql injection
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236251
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Выкинуть IDEA подальше на ближайшее время.
2. Скачать JavaDoc и прежде, чем задавать вопрос здесь - смотреть там и на сайте Sun Java Tutorial (предлагаю найти его самому).
3. Забыть о знаниях C, C++ и прочих технологий.
4. Найти и запомнить Java Code Conventions на сайте Sun. (чем раньше, тем лучше)
5. Забыть о JEE на полгода.
6. Взять книгу НАЧАЛЬНОГО уровня (уровня HelloWorld) и учиться.

А то до конца жизни будете строки через "==" сравнивать.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236441
Фотография brut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mysterio1. Выкинуть IDEA подальше на ближайшее время.


не раскажите по подробней?
эту ошибку она бы еще во время написания показала
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236467
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brut mysterio1. Выкинуть IDEA подальше на ближайшее время.


не раскажите по подробней?
эту ошибку она бы еще во время написания показала

Я расскажу. Человек сравнивает строки через ==, и зачит не знает базовых вещей в Java. Ему сейчас не IDE с кодогенерацией нужна, а блокнот и командная строка. И книга Хорстманна и Корнелла в нагрузку, желательно последнее издание по пятой Java.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236480
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freak_jreЗдравствуйте.
Не могу понять в чем ошибка? не выполняется запрос ...
Вот часть где я обрабатываю грубо событие и данные из формы, которые надо занести в таблицу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 if  (btn_add_msg!="")
            {
                vh_name=request.getParameter("fr_name");
                vh_city=request.getParameter("fr_city");
                vh_mail=request.getParameter("fr_mail");
                vh_icq=request.getParameter("fr_icq");
                vh_msg=request.getParameter("fr_msg");
                 if  (run.isEmpty(vh_name) || run.isEmpty(vh_msg)) 
                    {
                        err="Special textbox is empty.";
                    }  else 
                    {
иначе подключаюсь к базе и делаю запрос
Код: plaintext
1.
2.
3.
con = DriverManager.getConnection("jdbc:mysql://localhost/mybase","root","");
st = con.createStatement ();
ResultSet r = st.executeQuery("INSERT INTO guest ( name , city ) values('"+vh_name+"', '"+vh_city+"')");
и получаю вот такой Exception:
Код: plaintext
1.
java.sql.SQLException: Can not issue data manipulation statements with executeQuery() 
я не правильно делаю запрос ?

Интересно, какую выборку из БД вы хотите получить после команды INSERT INTO?
правильно - надо сделать примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Connection mysqlConn = DriverManager.getConnection("jdbc:mysql://localhost/mybase","root","");
// Параметризуемый запрос:
String query = "INSERT INTO guest ( name , city ) values(?, ?)";
PreparedStatement statement = mysqlConn.prepareStatement (query);
// Параметры нумеруются с единицы
statement.setString( 1 , vh_name);
statement.setString( 2 , vh_city);
// обойдемся без результата - если исключение не вывалилось, то можно считать, что все хорошо.
statement.executeUpdate();
// Закрываем сам стейтмент. 
// Желательно закрывать руками каждый использованный объект, а не надеяться на Connection.close();
// поскольку в случае использования пула соединение не будет закрыто, и соответственно ресурсы будут теряться
statement.close();
// Закрываем соединение
mysqlConn.close();
// Примерно вот так
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236528
freak_jre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mysterio
1. Выкинуть IDEA подальше на ближайшее время.

1. Согласен блокнот форевер. Но в блокноте надоело писать.
mysterio
2. Скачать JavaDoc и прежде, чем задавать вопрос здесь - смотреть там и на сайте Sun Java Tutorial (предлагаю найти его самому).

2. Что имеешь ввиду под JavaDoc и почему я не могу задать вопрос сдесь? Если тебя затрудняет писать ответ - то не пиши!
mysterio
3. Забыть о знаниях C, C++ и прочих технологий.

3. Эти знания я добывал 5 лет с книгой и забывать не собираюсь.
mysterio
4. Найти и запомнить Java Code Conventions на сайте Sun. (чем раньше, тем лучше)
5. Забыть о JEE на полгода.
6. Взять книгу НАЧАЛЬНОГО уровня (уровня HelloWorld) и учиться.

Как раз таки и в книге начального уровня (helloWorld) учат сравнивать == вот так, а не через s.equals()

Спасибо за советы.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236531
freak_jre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Интересно, какую выборку из БД вы хотите получить после команды INSERT INTO?правильно - надо сделать примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Connection mysqlConn = DriverManager.getConnection("jdbc:mysql://localhost/mybase","root","");
// Параметризуемый запрос:
String query = "INSERT INTO guest ( name , city ) values(?, ?)";
PreparedStatement statement = mysqlConn.prepareStatement (query);
// Параметры нумеруются с единицы
statement.setString( 1 , vh_name);
statement.setString( 2 , vh_city);
// обойдемся без результата - если исключение не вывалилось, то можно считать, что все хорошо.
statement.executeUpdate();
// Закрываем сам стейтмент. 
// Желательно закрывать руками каждый использованный объект, а не надеяться на Connection.close();
// поскольку в случае использования пула соединение не будет закрыто, и соответственно ресурсы будут теряться
statement.close();
// Закрываем соединение
mysqlConn.close();
// Примерно вот так


Спасибо!
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236557
freak_jre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите тогда где хоть взять JavaDoc? Их море в нете... Уже скачал два архива и там какая то муть на явадок не похоже.
(Я прочитал че такое JavaDoc)
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236637
Фотография brut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freak_jreПодскажите тогда где хоть взять JavaDoc? Их море в нете... Уже скачал два архива и там какая то муть на явадок не похоже.
(Я прочитал че такое JavaDoc)
http://java.sun.com/javase/technologies/database/index.jsp
гдето там.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236724
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freak_jre
1. Согласен блокнот форевер. Но в блокноте надоело писать.


+1 не слушай вредных советов. Все начинают с IDE, а потом умудряются советовать такие глупости.

freak_jre2. Что имеешь ввиду под JavaDoc и почему я не могу задать вопрос сдесь? Если тебя затрудняет писать ответ - то не пиши!

Тогда тебе придется ближе познакомится с аббревиатурой RTFM.

3. Эти знания я добывал 5 лет с книгой и забывать не собираюсь.
5 лет с одной книгой? Сильно.


freak_jreКак раз таки и в книге начального уровня (helloWorld) учат сравнивать == вот так, а не через s.equals()
Ссылку на книгу и указание страницы/главы в студию.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236727
freak_jre
Как раз таки и в книге начального уровня (helloWorld) учат сравнивать == вот так, а не через s.equals()

Что, в книге по Java?
Я вас умоляю, выкиньте эту книжку. Ничего хорошего в ней нет.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236733
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brut freak_jreПодскажите тогда где хоть взять JavaDoc? Их море в нете... Уже скачал два архива и там какая то муть на явадок не похоже.
(Я прочитал че такое JavaDoc)
http://java.sun.com/javase/technologies/database/index.jsp
гдето там.
Да, очень точно целеуказание, ничего не скажешь? А найти прямую ссылку силенок не хватило?

http://java.sun.com/j2se/1.5.0/docs/api/
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34236784
freak_jre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Что, в книге по Java?Я вас умоляю, выкиньте эту книжку. Ничего хорошего в ней нет.
Выкинул :)
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34237360
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет JavaDoc: интересные Вы, думаете здесь собрались альтруисты-копипастильщики, которые по вашему запросу будут выдавать Вам информацию из документации, которая у Вас есть?
Вряд ли Вы много таких найдете. Я сижу на этом форуме ради интересных вопросов, которые не смогу сделать сразу, которые заставят меня закопаться в документации и узнать новое. Мне не сложно ответить на вопрос, если я вижу, что человек сам стремиться найти на него ответ. Например, когда он идет на форум после прочитанного туториала или документации. Когда он версии выдвигает, когда он мыслит.

Когда Вы ищете информацию сами, Вы пока найдете нужный Вам момент, узнаете еще раз в 10 больше информации, которая напрямую к проблеме не относится. И в голове это у Вас отложится. И потом Вы это вспомните и сможете сделать сами.
Когда Вы спрашиваете вопрос здесь и получаете ответ, Вы конечно же решаете текущую задачу. А вот решите ли Вы ее в следующий раз? Может быть и решите, если память хорошая. А изменится она совсем чуть-чуть и сядете в лужу.

Про C/C++: безусловно знания полезные, но при этом нужно твердо запомнить одну вещь: Java это не C++! И его знания здесь Вам будут только мешать.

Ну и про IDE: я начинал именно с блокнота. Нет, IDE я конечно успел запустить, вроде бы это был Eclipse, но во время наткнулся на форум, где недвусмысленно товарищ Skipy мне объяснил, почему не стоит так делать :)
За что я ему теперь довольно сильно благодарен.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34237389
mysterio
Ну и про IDE: я начинал именно с блокнота. Нет, IDE я конечно успел запустить, вроде бы это был Eclipse, но во время наткнулся на форум, где недвусмысленно товарищ Skipy мне объяснил, почему не стоит так делать :)

И долго пользовался блокнотом? :)
Меня хватило на две недели — потом было уже некогда :)
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34237428
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуть более месяца. Мне то было когда, все-таки я еще не профессионал, поэтому мог нерасторопно разбираться в основах.

Две недели тоже скорее всего нормально. Как человек сможет ручками создать проект, написать скрипты для компиляции (.bat-ники, я не про ant или maven), для запуска, как придет стойкое понимание таких основ, как что такое CLASSPATH, как его выставить и зачем оно нужно, вот тогда и нормально. Можно начинать с IDE.
Так же и про визуальные редакторы GUI: лучше вначале ручками с ними повозиться. Понять, что такое LayoutManager, как пользоваться основными, понять архитектуру javax.swing.*: иерархию компонентов, модели, ui-представители и т.п., тогда (если еще захочется :) ) можно пользоваться редактором кода. Во-всяком случае человек будет прозрачно понимать, что делает редактор и как его обойти, когда нужно. И не будет зависеть от конкретной IDE.

А тут человек использует JDBC (что уже ни разу не helloWorld) и при этом до сих пор не знал, что существует такая вещь, как JavaDoc. И код пишет методом тыка (посмотрите на первые 3 поста).
А все почему? Потому что IDE дала ему автокомплит, вот он и подставляет по очереди все методы, у которых имена вроде как по смыслу подходят.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34240915
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оффтоп.
mysterio.. многа "Выканья"...
http://spravka.gramota.ru/blang.html?id=171Таким образом, местоимения Вы, Ваш пишутся с прописной буквы при обращении к одному лицу в текстах следующих жанров:

— (а) личное письмо (адресат — конкретное лицо; факультативное написание — выбор определяет сам пишущий, выражая / не выражая вежливое или уважительное отношение к адресату);

— (б) официальные документы (адресат — конкретное лицо, отношение пишущего к адресату не имеет значения);

— (в) анкеты (адресат — неконкретное лицо; отношение пишущего к адресату не имеет значения).
...
Поскольку большинство текстов Интернета не соответствуют условиям (а), (б), (в) написания Вы с прописной буквы (сообщения электронной почты не являются личными письмами в традиционном смысле слова), можно рекомендовать написание вы, ваш при обращении к читателям / посетителям страницы в Интернете со строчной буквы.
...
Рейтинг: 0 / 0
NeeD HelP - запрос INSERT INTO
    #34240980
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хе.. таких тонкостей русского языка не знал. Спасибо в ам :)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / NeeD HelP - запрос INSERT INTO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]