Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Terminate
30 / 30 / 24
Регистрация: 21.01.2013
Сообщений: 227

Недопонимание SQL запроса

26.09.2013, 09:12. Показов 899. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем

есть такой вот запрос

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public boolean deleteRow() {
        boolean resp = false;
        try {
            String sql = "DELETE FROM TehUslov WHERE [Номер пп] = ?";
            pst = cn.prepareStatement(sql);
            pst.setInt(1, getEditCol1());
            if (!pst.execute()) {
                resp = true;
            }
            pst.close();
            cn.close();
        } catch (Exception ex) {
        }
        return resp;
    }
мне непонятны вот эти строки

Java
1
2
3
if (!pst.execute()) {
        resp = true;
}
там ведь символ "!" стоит, то есть если запрос не выполнен присвоить "true" ?
а если запрос выполнился? получается он так и должен был бы остаться false ... но он все же выдает значение "true" и сам запрос выполняется без ошибок

пользуюсь я им так
Java
1
2
3
4
if (query.deleteRow()) {
                JOptionPane.showConfirmDialog(this, "Запись успешно удалена", "Удаление записи", JOptionPane.CLOSED_OPTION, JOptionPane.INFORMATION_MESSAGE);
            } else {
              JOptionPane.showMessageDialog(this, "произошла ошибка. Пожалуйста, свяжитесь с администратором !");
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2013, 09:12
Ответы с готовыми решениями:

Сложность SQL запроса и Java
Один и тот же код - меняю только вставляемый запрос. в первом случаи 13 тысяч строк выводятся за 20 секунд, а запрос, формирующий 8 строк...

Обновление формы во время выполнения SQL запроса
Всем добрый день На главной форме в StatusBar хочу при выполнении SQL запроса устанавливать необходимую иконку. public static...

Ошибка SQL запроса: SQL logic error or missing database
Здравствуйте, помогите решить проблему. Считываю бинарный файл и отправляю в БД(использую SQLite) с помощью массива. Отправляю массив в...

2
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
26.09.2013, 17:27
Прочитал доку - странная логика у execute, не понято зачем вообще такой метод понадобился.
Предложу поправить ваш метод на использование executeUpdate
Java
8
            resp = (pst.executeUpdate() == 1);
PS. У вас в методе Connection не открывается, но вы его зачем-то в нем закрываете - так лучше делать не стоит
0
 Аватар для Terminate
30 / 30 / 24
Регистрация: 21.01.2013
Сообщений: 227
26.09.2013, 22:25  [ТС]
он у меня открывается

делаю я это вот так

класс запроса
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package TCCL.TehCons;
 
import TCCL.ConnectSQL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
 
public class SQLQuery1 {
 
    Connection cn = null;
    PreparedStatement pst = null;
    ResultSet rs = null;
    ConnectSQL con = new ConnectSQL();
    
    private Integer editCol1;   // 1    [Номер пп]
 
    public SQLQuery1() {
        cn = con.link();
    }
 
    public boolean deleteRow() {
        boolean resp = false;
        try {
            String sql = "DELETE FROM TehUslov WHERE [Номер пп] = ?";
            pst = cn.prepareStatement(sql);
            pst.setInt(1, getEditCol1());
            if (!pst.execute()) {
                resp = true;
            }
            pst.close();
            cn.close();
        } catch (Exception ex) {
        }
        return resp;
    }
 
    public Integer getEditCol1() {
        return editCol1;
    }
 
    public void setEditCol1(Integer editCol1) {
        this.editCol1 = editCol1;
    }
 
}

затем я вызываю этот запрос таким вот методом, правильно ли это или нет

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        JTextField DeleteField = new JTextField(5);
        JPanel myPanel = new JPanel();
        myPanel.add(new JLabel("Введите номер записи"));
        myPanel.add(DeleteField);
 
        int result = JOptionPane.showConfirmDialog(null, myPanel,
                "Удаление записи", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
 
        if (result == JOptionPane.OK_OPTION) {
 
            SQLQuery1 query = new SQLQuery1();
            query.setEditCol1(Integer.parseInt(DeleteField.getText()));
            if (query.deleteRow()) {
                JOptionPane.showConfirmDialog(this, "Запись под номером " + DeleteField.getText() + " успешно удалена\n обновите запрос", "Удаление записи", JOptionPane.CLOSED_OPTION, JOptionPane.INFORMATION_MESSAGE);
            } else {
                JOptionPane.showMessageDialog(this, "произошла ошибка. Пожалуйста, свяжитесь с администратором !");
            }
        }
    }
Спасибо !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2013, 22:25
Помогаю со студенческими работами здесь

Вставка данных из Excel в SQL. При помощи запроса SQL....
Доброго времени суток. Не могли бы Вы мне помочь с SQL запросом, которй вставлял бы весь лист в таблицу SQL? дело в том что мне...

Ошибка SQL-запроса: You have an error in your SQL syntax near 'group(name_group,time)VALUES('123','00:00')'
Уже всю голову сломал, не могу понять в чем косяк? Текст ошибки:You have an error in your SQL syntax; check the manual that corresponds...

SQL запросы, чем плоха конкатенация SQL запроса?
Опишу ситуацию, есть БД с несколькими таблицами, с которыми нужно совершать много разных операций при разных условиях. Операции...

SQL-запрос результатов другого SQL-запроса
Часто встречающийся пример: в первом запросе выполняется выборка по параметрам (к примеру, диапазон дат), которые не должны входить в...

Ошибка SQL запроса #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax t
Помогите пожалуйста! CREATE TABLE `tickets` ( `id` int(4) NOT NULL auto_increment, `user` int(11) NOT NULL default '0', ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru