Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536

Проверить есть ли такая запись в БД

04.10.2015, 18:36. Показов 5735. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как узнать есть ли в БД уже такая запись которую я хочу добавить в БД. Вот мой код на вставку в БД.
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vanek?user=root&password=");
            st = conn.createStatement();
            String pp=jTextField1.getText();
            String the_content_of_the_record = jTextField2.getText();
            String unit = (String) jComboBox1.getSelectedItem();
            String the_number = jTextField3.getText();
            String price = jTextField4.getText();
            String the_amount = jTextField5.getText();
            String DT = jTextField6.getText();
            String KT = jTextField7.getText();
            String month = (String) jComboBox3.getSelectedItem();
 
            st.executeUpdate("insert into reports1 (id, the_content_of_the_record, unit, the_number, price, the_amount, DT, KT, month) values ("
                    + quotate(pp) + ","
                    + quotate(the_content_of_the_record) + ","
                    + quotate(unit) + ","
                    + quotate(the_number) + ","
                    + quotate(price) + ","
                    + quotate(the_amount) + ","
                    + quotate(DT) + ","
                    + quotate(KT) + ","
                    + quotate(month)
                    + ")");
 
 
            jTextField1.setText("");
            jTextField2.setText("");
            jTextField3.setText("");
            jTextField4.setText("");
            jTextField5.setText("");
            jTextField6.setText("");
            jTextField7.setText("");
 
        } catch (SQLException e) {
            // Ругаемся на ошибки
 
            if (conn == null) {
                System.out.println("failed to connect to database");
            } else if (st == null) {
                System.out.println("failed to create statement");
            } else if (rs == null) {
 
                System.out.println("failed to fetch resultset");
            } else {
                System.out.println("error while fetching results");
            }
        } finally {
            // Да, пустые блоки catch - очень плохо
            if (rs != null) {
                try {
                    rs.close();
                } catch (Exception e) {
                }
            }
            if (st != null) {
                try {
                    st.close();
                } catch (Exception e) {
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (Exception e) {
                }
            }
        }
Мне нужно узнать есть ли такая запись и такой id в моей таблице в БД. Т.е. я ввожу данные в поля нажимаю кнопку и если такой записи нет то все нормально вставляет если такая запись существует то появляется сообщение о том что такая запись существует

Добавлено через 5 часов 47 минут
Нашел вот такой ламерский вариант
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rs=st.executeQuery("SELECT * FROM reports1");
            
            while(rs.next()){
             proverka = rs.getString(1);
            }
                rs=st.executeQuery("SELECT * FROM reports1 WHERE id='"+pp+"'");
            
            while(rs.next()){
             proverka = rs.getString(1);
            }
            
            if(proverka.equals(pp)){
                           JOptionPane.showMessageDialog(null,"Такой №_п/п уже существует или не введен"); 
            jTextField1.setText("");
            }else{
может кто-нибудь знает вариант получше
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2015, 18:36
Ответы с готовыми решениями:

Запретить запись в базу, если в базе уже есть такая запись - PHP БД
Люди добрые помогите кто чем сможет. Есть запрос $number = $_POST; $datetime = $_POST; $dept = $_POST; $text = $_POST; $disp...

Проверить есть ли такая директория
Как узнать есть ли на диске C папка 'IRE' или её нет

Проверка, есть ли такая запись в базе данных
Здравствуйте. Помогите, пожалуйста. Это сайт отеля. Есть формы ввода фамилии, даты заезда, отъезда, номер, количество человек, статус...

4
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
04.10.2015, 19:01
иван я, как вам уже советовали в другой теме, используйте preparedStatements
Чтобы проверить есть ли запись в БД запустите query который вы написали выше и проверяйте пришел ли результат или нет. Ненадо для этого всю БД селектить
0
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
05.10.2015, 17:12  [ТС]
KEKCoGEN,
запустите query который вы написали выше
это вы вот про эту строку?
Java
1
rs=st.executeQuery("SELECT * FROM reports1 WHERE id='"+pp+"'");
Если эта то как проверить есть или нет такой результат в БД? Скиньте ссылочку на пример если не трудно.

Добавлено через 4 минуты
KEKCoGEN, как я понял из той информации что я сейчас прочитал, то нужно написать вот так
Java
1
rs=preparedStat.executeQuery("SELECT id FROM reports1 WHERE id='"+pp+"'");
Добавлено через 2 минуты
но как потом проверить я не понял
0
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
09.10.2015, 18:19
иван я, если я не ошибаюсь то возвращается либо значения либо null. вот так и узнайте что если нулл значить такого в базе не существует.
З.Ы. могу ошибиться...
0
13.10.2015, 00:45

Не по теме:

Почитайте про операцию MERGE ©Oracle и аналогичные операции в других СУБД

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2015, 00:45
Помогаю со студенческими работами здесь

Проверить есть ли запись переданная через checkbox в базе, если есть то не заносить её
Проблема следующая. Есть форма, пользователь выбирает checkbox 1,2,10 хоть все пусть! echo "<input type='checkbox' name='lang'...

Процедура с условием: если такая запись есть, то update, если нет, то insert
Хочу сделать процедуру по вбиванию/удалению. Если такая запись есть, то update, если нет, то insert. Подсказали примерно такую штуку, но...

Проверить есть ли запись в БД
Что-то я вообще не могу составить проверку на существуемость записи в БД if (если IP в БД есть, то:) { exit('0'); // то...

Как проверить, если запись есть в таблице, то вывести ошибку "Запись существует"
как проверить если запись есть в таблице (datagridview) то вывести ошибку "Запись существует", использую access Точнее: например в...

Проверить есть ли запись в базе
всем привет, делаю курсовую, нужно сделать регистрацию пользователей, я взялся проверять перед тем как записать в таблицу нового...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
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