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

Вставка в таблицу

28.10.2015, 20:24. Показов 824. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программно создаю таблицу(В БД нет ни одной таблицы)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vanek?user=root&password=");
            st = conn.createStatement();
         
            
            number_otch++;
           number_otc = "reports"+Integer.toString(number_otch);
          
                    jComboBox4.addItem("Отчет за "+number_otch);
            st.executeUpdate("CREATE TABLE "+number_otc+"(id VARCHAR(40), the_content_of_the_record VARCHAR(40), unit VARCHAR(40), the_number VARCHAR(40), price VARCHAR(40), the_amount VARCHAR(40), DT VARCHAR(40), KT VARCHAR(40), month VARCHAR(40))");//" (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, lastname VARCHAR(20), firstname VARCHAR(20), phone VARCHAR(20),  dateofbirth DATE)");
        } catch (SQLException ex) {
            Logger.getLogger(DIpp.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
Потом в эту таблицу пытаюсь также программно вставить данные
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
 
 
        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();
       
             rs=st.executeQuery("SELECT * FROM "+number_otc+"");
 
              while(rs.next()){
             proverka = rs.getString(1);
             
            }
            
       
            
                rs=st.executeQuery("SELECT id FROM "+number_otc+" WHERE id='"+pp+"'");
                
            
            while(rs.next()){
             proverka = rs.getString(1);
            }
            
            
            if(proverka!=null)
            if(proverka.equals(pp)){
                           JOptionPane.showMessageDialog(null,"Такой №_п/п уже существует или не введен"); 
            jTextField1.setText("");
            }else{
            
           // st.executeUpdate("UPDATE "+number_otc+" id='' ");
            
            st.executeUpdate("insert into "+number_otc+" (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(CommunicationsException e){JOptionPane.showMessageDialog(null, "БД не подключена");}
        
        catch (SQLException e) {
            // Ругаемся на ошибки
System.out.println(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) {
                }
            }
        }
 
    }
но данные не вставляются до тех пор пока я сам вручную в любую(программно созданную) таблицу не занесу какие-нибудь данные. После того как я занес в таблицу данные все отлично работает. Скажите в чем может быть причина.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2015, 20:24
Ответы с готовыми решениями:

Вставка в таблицу
Привет всем. Подскажите пожалуйста выполняю вставку в таблицу вот таки запросом: "INSERT INTO users...

Вставка в таблицу
Всем привет. Очень нужна помощь, разъясните, пожалуйста, в чём может быть проблема. Имеется 4 таблицы. table1, столбец Column1 ...

Вставка в таблицу
Нужно из одной таблицы вставить значения в другую. В процедуру передаются массивы в виде xml: create procedure UpdateEmail @ID int, ...

2
 Аватар для Doctor_
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
29.10.2015, 12:38
ну а что ты хочешь выводить если данных нет? пока Insert'a не будет, то и данных нет. кэп.
если ты Insert делаешь, то у тебя коммит есть? ты считывашь данные из пустой таблица пока коммита не было.
код твой не читал, потому что нме себя жалко, не форматирования, какой-то фарш, куча пробелов.
П.с. лучше сразу писать понятный код, чтоб потом сам смог понять что там написал.
0
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536
29.10.2015, 13:01  [ТС]
Doctor_, Вот в том то и дело что insert есть но почему то не срабатывает. Не могу понять почему, хотя лежит в отдельном методе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2015, 13:01
Помогаю со студенческими работами здесь

Вставка формы в таблицу (IE)
Возникла необходимость вставить форму в таблицу. Так вот, в Опере все выглядит замечательно, а в IE после формы добавляется пустая строка....

Вставка в новую таблицу
Доброго времени суток. Есть вот такой код: Use SalesAnalyst INSERT INTO .dbo.MyOFF ( Contractor, OUTNUM, ORDNUM,

вставка в таблицу DataSet
помогите пожалуйста, при подключении DataSet к базе данных и перетягивании его на форму, автоматически генерируется следующий код: ...

Вставка строк в таблицу БД
Доброго времени суток! Отображаю данные, хранящиеся в таблице БД, через DBGridEh (Рисунок ниже). Пытаюсь перенести выбранные в этом...

Вставка изображения в таблицу БД
Всем доброго времени суток! Пытаюсь реализовать вставку изображений в таблицу БД. Для чего в таблице создаю поле (текстового типа),...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru