Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 18

Как сохранить изменённые данные в текущей строке набора данных, динамически созданного поля

08.06.2021, 13:41. Показов 3424. Ответов 26

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

Нужна помощь с решением задачи.
Заранее извиняюсь за говнокод. Если укажете на ошибки, это очень поможет мне научиться (учусь удалённо, препода особо не отвечают).

Сразу оговорюсь, что зависаю на самом последнем пункте задания.
Вот само задание:

Для работы с базой данных использовать JDK 8 или более позднюю версию.

Создать форму, в которой разместить элемент управления список, кнопки для открытия набора данных, закрытия набора данных, две кнопки для перехода по набору данных вперед (на следующую запись) и назад (на предыдущую запись), и кнопку для сохранения изменений в текущей строке набора данных.

В список добавить все имена таблиц из используемой базы данных. Для этого следует использовать работу с метаданными.

По щелчку на кнопке открыть набор данных следует выбрать из списка текущее значение имени таблицы и создать для этой таблицы отсоединенный набор данных, далее динамически разместить в окне поля ввода для каждого столбца набора данных и надписи для каждого именем столбца таблицы. Так, если в таблице 4 столбца, то в окне должно отображаться 4 поля ввода и 4 надписи. При щелчке по кнопке для закрытия набора данных эти поля ввода и надписи должны удаляться.

Программа должна автоматически при открытии набора данных определять количество столбцов в таблице и формировать графический интерфейс пользователя.

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

По щелчку на кнопке для сохранения в текущей строке набора данных выполнить сохранение измененных данных из полей ввода в таблицу базы данных. Один столбец следует использовать как ключевой (или уникальный).


Моя проблема в том, что Я не знаю мне сделать функциональную кнопку сохранения. Возможно (скорее всего), Я где-то не понимаю само задание. Весь инет перерыл. Второй раз в жизни пишу на форум. В первый, правда, не помогло.

Help.

Вот код:
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
public class Class1 extends JFrame {
    
    private JPanel panel1 = new JPanel();
    private JPanel dataPanel = new JPanel();
    private JLabel label1 = new JLabel("Задание 2");
    private JLabel label2 = new JLabel ("Имена таблиц:");
    private DefaultListModel<String> listModel1 = new DefaultListModel<String>();
    private JList<String> tableNames = new JList<String>(listModel1);
    private ArrayList<JTextField> fields = new ArrayList<JTextField>();
    private ArrayList<JLabel> labels = new ArrayList<JLabel>();
    private DefaultTableModel tableModel = new DefaultTableModel();
    private JTable table1 = new JTable(tableModel);
    private JScrollPane scrollPane11 = new JScrollPane();
    private JScrollPane scrollPane12 = new JScrollPane();
    private JScrollPane scrollPane13 = new JScrollPane();
    private JButton buttonopen = new JButton("Открыть набор данных");    
    private JButton buttonnext = new JButton("Следующая запись >>");
    private JButton buttonprevious  = new JButton("<< Предыдущая запись");
    private JButton buttonsave = new JButton("Сохранить"); //кнопка для сохранения изменений в текущей строке набора данных
    private JButton buttonclose = new JButton("Закрыть набор данных");
    private CachedRowSet crs;
    private Connection con;
    private JTextField tf;
    
    public Class1() {
        super("Отсоединённый набор данных");
        setBounds(500,500,1040,500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        
        try {
            jbInit();}
        catch (Exception e){
            e.printStackTrace();
            }
        }
    
        public void jbInit() throws SQLException
        {
            Container container = this.getContentPane();
            container.setLayout(null);
            this.getSize(new Dimension (1040, 500));
            container.setBackground(Color.WHITE);           
            
            panel1.setLayout(null);
            panel1.setBounds(new Rectangle (10, 10, 1000, 440));
            
            // "Задание 2"
            label1.setBounds(475, 20, 150, 20);
            panel1.add(label1);
            // "Имена таблиц:"
            label2.setBounds(30, 50, 150, 20);
            panel1.add(label2);             
            
            scrollPane11.setBounds(new Rectangle (30, 80, 320, 320));
            scrollPane11.getViewport().add(tableNames, null);
            panel1.add(scrollPane11);
            tableNames.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            
            scrollPane12.setBounds(new Rectangle (650, 240, 320, 160));
            scrollPane12.getViewport().add(table1, null);
            panel1.add(scrollPane12);
            
            scrollPane13.setBounds(new Rectangle (650, 80, 320, 150));
            dataPanel.setLayout(new GridBagLayout());
            scrollPane13.getViewport().add(dataPanel, null);
            panel1.add(scrollPane13);            
                                                    
            buttonopen.setText("Открыть набор данных");
            buttonopen.setBackground(Color.DARK_GRAY);
            buttonopen.setForeground(Color.WHITE);
            buttonopen.setBounds(new Rectangle (380, 80, 240, 25));            
            panel1.add(buttonopen);
            buttonopen.setActionCommand("Открыть набор данных");
            buttonopen.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e)               
                {
                button_1_actionPerformed(e);                                                                
                }
            
            });
            
            buttonnext.setText("Следующая запись   >>");
            buttonnext.setBackground(Color.DARK_GRAY);
            buttonnext.setForeground(Color.WHITE);
            buttonnext.setBounds(new Rectangle (380, 120, 240, 25));            
            panel1.add(buttonnext);
            buttonnext.setActionCommand("Следующая запись   >>");
            buttonnext.addActionListener(new ActionListener() {                
                public void actionPerformed(ActionEvent e) 
                {                    
                showNextRow(e);                     
                }
            
            });
            
            buttonprevious.setText("<<   Предыдущая запись");
            buttonprevious.setBackground(Color.DARK_GRAY);
            buttonprevious.setForeground(Color.WHITE);
            buttonprevious.setBounds(new Rectangle (380, 160, 240, 25));            
            panel1.add(buttonprevious);
            buttonprevious.setActionCommand("<<   Предыдущая запись");
            buttonprevious.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) 
                {                    
                showPreviousRow(e);                    
                }
            
            });
            
            buttonsave.setText("Сохранить");
            buttonsave.setBackground(Color.DARK_GRAY);
            buttonsave.setForeground(Color.WHITE);
            buttonsave.setBounds(new Rectangle (380, 200, 240, 25));            
            panel1.add(buttonsave);
            buttonsave.setActionCommand("Сохранить");
            buttonsave.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) 
                {                    
                saveChanges(e);                     
                }
            
            });
            
            buttonclose.setText("Закрыть набор данных");
            buttonclose.setBackground(Color.DARK_GRAY);
            buttonclose.setForeground(Color.WHITE);
            buttonclose.setBounds(new Rectangle (380, 240, 240, 25));            
            panel1.add(buttonclose);
            buttonclose.setActionCommand("Закрыть набор данных");
            buttonclose.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) 
                {                    
                closeSet();                        
                }
            
            });
            
            container.add(panel1);
            
            String url = "jdbc:sqlserver://localhost; databaseName=education; integratedSecurity=true;";
            Statement stmt1;  
               try 
               {
                   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
               }
               catch (ClassNotFoundException ec) 
               {
                   System.err.print("ClassNotFoundException: ");
                   System.err.println(ec.getMessage());
               }  
                       try 
                       {
                           con = DriverManager.getConnection(url, "", "");
                            DatabaseMetaData meta1 = con.getMetaData();
                            stmt1 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                            ResultSet rs1 = meta1.getTables(null, null, "%", new String [] {"TABLE"}); 
                            crs = new CachedRowSetImpl();
                            crs.populate(rs1); 
                            while (crs.next())
                            {
                            listModel1.addElement((crs.getString(3)));
                            }
                            con.close();   
                       }
                       catch (SQLException ex)
                       {
                            System.err.print ("SQLException: ");
                            System.err.println(ex.getMessage());
                       }
                                                                                                         
        }
        
        
            public void button_1_actionPerformed(ActionEvent e)
            {
            Statement stmt; 
            ResultSet result;
            String url = "jdbc:sqlserver://localhost; databaseName=education; integratedSecurity=true;";
            try
            {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            }
            catch (ClassNotFoundException eb) 
            {
                System.err.print("ClassNotFoundException: ");
                System.err.println(eb.getMessage());
            } 
            try 
            {
                con = DriverManager.getConnection(url, "", "");
                stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                result = stmt.executeQuery("SELECT * FROM " + "[" + tableNames.getSelectedValue() + "]");
                     
            ResultSetMetaData meta1 = result.getMetaData();
            crs.setTableName(tableNames.getSelectedValue());
            crs = new CachedRowSetImpl();
            crs.populate(result); 
                    
            Vector<String> columnNames1 = new Vector<String>();
            int columnCount1  = meta1.getColumnCount();                             
            for (int column = 1; column <= columnCount1; column++) 
            {
            columnNames1.add(meta1.getColumnName(column));       
            }
                    
            Vector<Vector<Object>> data1 = new Vector<Vector<Object>>();
            while (crs.next()) 
            {
            Vector<Object> vector1 = new Vector<Object>();
            for (int columnIndex = 1; columnIndex <= columnCount1; columnIndex++) 
            {
            vector1.add(crs.getObject(columnIndex));
            }
            data1.add(vector1);   
            }
                    
            tableModel.setDataVector(data1, columnNames1); // заполнение таблицы для просмотра сразу всех данных
                                                 
            dataPanel.removeAll();
            fields.clear();  
                
            crs.first();   
            int columnCount2  = meta1.getColumnCount();                             
            for (int column = 1; column <= columnCount2; column++) 
            {
                JLabel lb = new JLabel(meta1.getColumnLabel(column));
                
                GridBagConstraints gbc1 = new GridBagConstraints();
                gbc1.gridx = 1;
                gbc1.gridy = column - 1;
                gbc1.gridheight = 1;
                gbc1.gridwidth = 1;
                gbc1.anchor = GridBagConstraints.WEST;
                
                GridBagConstraints gbc2 = new GridBagConstraints();
                gbc2.gridx = 0;
                gbc2.gridy = column - 1;
                gbc2.gridheight = 1;
                gbc2.gridwidth = 1;
                gbc2.anchor = GridBagConstraints.WEST;
                               
                dataPanel.add(lb, gbc2);
                labels.add(lb);
                tf = new JTextField(meta1.getColumnDisplaySize(column));
                dataPanel.add(tf, gbc1);
                fields.add(tf);
                
                String field = crs.getString(column);
                tf = (JTextField)fields.get(column-1);
                tf.setText(field);
 
                dataPanel.repaint();
                dataPanel.revalidate();
            }
                con.close();   
            }
            catch (SQLException ex)
            {
            System.err.print ("SQLException: ");
            System.err.println(ex.getMessage());
            }         
            }
            
    
    public void showNextRow(ActionEvent e)
    {
        buttonprevious.setEnabled(true);
 
         try {
             if (crs==null || crs.isLast())
             {                 
                 buttonnext.setEnabled(false);
             }
             crs.next();
             for (int i = 1; i <= fields.size(); i++)
             {
                 String field = crs.getString(i);
                 tf = (JTextField)fields.get(i-1);
                 tf.setText(field);
             }
             } 
             catch (SQLException q)                                            
             {
             System.err.print ("SQLException: ");
             System.err.println(q.getMessage());
             }  
                              
    }
    
    public void showPreviousRow(ActionEvent e)
    {       
        buttonnext.setEnabled(true);
 
         try {
             if (crs==null || crs.isFirst())
             {
                 buttonprevious.setEnabled(false);
             }
             crs.previous();
             for (int i = 1; i <= fields.size(); i++)
             {
                 String field = crs.getString(i);
                 tf = (JTextField)fields.get(i-1);
                 tf.setText(field);
             } 
             }
             catch (SQLException q)
             {
             System.err.print ("SQLException: ");
             System.err.println(q.getMessage());
             }  
                              
                        
    }
 
    public void saveChanges (ActionEvent e)
    {
        Statement stmt; 
        ResultSet result;
        String url = "jdbc:sqlserver://localhost; databaseName=education; integratedSecurity=true;";
        try
        {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        }
            catch (ClassNotFoundException eb) 
            {
                System.err.print("ClassNotFoundException: ");
                System.err.println(eb.getMessage());
            }
            try 
            {
            con = DriverManager.getConnection(url, "", "");
                
            stmt = con.createStatement();
            result = stmt.executeQuery("SELECT * FROM " + "[" + tableNames.getSelectedValue() + "]");
                               
            ResultSetMetaData meta1 = result.getMetaData();
            crs.setTableName(tableNames.getSelectedValue());
                
            int columns = meta1.getColumnCount();                
            Vector columnNames = new Vector();
            Vector data = new Vector();
                
            for (int i = 1; i <= columns; i++) 
            {
            columnNames.addElement(meta1.getColumnName(i));
            }
                 
            while (result.next()) 
            {
            Vector row = new Vector(columns);
            for (int i = 1; i <= columns; i++) 
            {
            row.addElement(result.getObject(i));
            }
            data.addElement(row);
            }
                 
            System.out.println(columnNames);
               
 
//            String update = "UPDATE " + "[" + tableNames.getSelectedValue() + "]" + columnNames + "= ?" + "WHERE key = 'id'";
//            PreparedStatement pst = con.prepareStatement(update);
//            pst.setString(1, tf.getText());       
//            con.setAutoCommit(false);
//            pst.executeUpdate();
//            con.commit();
//            con.setAutoCommit(true);
                
 
 
          //  crs.acceptChanges(con);
            con.close();
           
            }
        
        catch (SQLException q)
        {
            System.err.print ("SQLException: ");
            System.err.println(q.getMessage());
        }
    
    }
    
    private void closeSet()
    {
        String url = "jdbc:sqlserver://localhost; databaseName=education; integratedSecurity=true;";
        try
        {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = DriverManager.getConnection(url, "", "");
            dataPanel.removeAll(); 
            dataPanel.repaint();
            dataPanel.revalidate();
            tableModel.setRowCount(0);
            tableModel.setColumnCount(0);
            scrollPane12.repaint();
            scrollPane12.revalidate();
            buttonnext.setEnabled(true);
            buttonprevious.setEnabled(true);
            crs.close();
            con.close();
        }
        
        
        catch (ClassNotFoundException eb) 
        {
            System.err.print("ClassNotFoundException: ");
            System.err.println(eb.getMessage());
        } 
        catch (SQLException ex)
        {
            System.err.print ("SQLException: ");
            System.err.println(ex.getMessage());
        }                                                   
    }
    
        
        
            public static void main(String[] args) {
                Class1 class1 = new Class1();
                class1.setVisible(true);
 
               
                                
    }
            
                
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2021, 13:41
Ответы с готовыми решениями:

Сохранить измененные данные из DataGridView в DataSet
Подключил источник данных к DataGridView Название_ТаблицыBindingSource, в нем есть 4 записи. Добавил несколько новых записей. И наткнулся...

Веб. Как изменить данные в базе по изменению данных инпута? Получить измененные данные инпута?
Доброго времени суток! Ситуация такая.. есть форма с таблицей, содержание таблицы выводится из базы. В таблице есть инпут ( &lt;input...

Сохранить измененные данные в таблицу: передается лишь последнее значение из цикла
Приветствую! Имеется такой код: &lt;form&gt; &lt;?php while($row = mysql_fetch_assoc($result)) { $level = $row; $price = $row; ...

26
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 18
10.06.2021, 10:31  [ТС]
Студворк — интернет-сервис помощи студентам
Если честно, Я это задание не очень понимаю. Т.е.. мне надо:
"По щелчку на кнопке для сохранения в текущей строке набора данных выполнить сохранение измененных данных из полей ввода в таблицу базы данных. Один столбец следует использовать как ключевой (или уникальный).",

А Вы пишите: "Это сказано применительно к БД. Один из столбцов таблицы - primary key, определяющий уникальность записи. Например ID. Его же можно и автогенерировать средствами самой БД. Просто указать это при описании таблицы."


Наверное, Я слишком зациклилась на этой кнопке и у меня уже мозг взрывается, но помогите, пожалуйста, понять, как это связать с кнопкой сохранения?

Т.е., вот остальную часть задания, которая, по идее, более сложная, Я сделала, а вот с этой кнопкой... ну не могу понять.А к преподам бесполезно обращаться. В пример, который даётся в обучающем материале, Я скинула и это просто издевательство, по-моему.
0
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 18
18.06.2021, 21:46  [ТС]
iSmokeJC,
Здравствуйте! Пока делала другие задания вместо этого, а теперь вернулась.

Вы можете мне объяснить, потому что, все советы, что мне тут дали, мне не подходят.

У меня НЕСКОЛЬКО динамически созданных текстовых полей. Чтобы было понятнее, вот картинка:

Я пишу запрос на обновление базы данных так:
PreparedStatement pst1 = con.prepareStatement ("UPDATE " + "[" + tableNames.getSelectedValue() + "]" + "SET name = ?" + "'" + tf.getText() + "'" + " WHERE id = ?");

Проблема в том, что мне нужно:
а) Указать имя столбца, который будет изменён, а их несколько в таблицах.
б) Узнать, в какой строке произойдут изменения и подставить нужный id, раз уж мне нужно использовать один столбец как уникальный.
в) Взять текст и поля, а полей несколько. Что Я не пробую, текст берётся только из последнего поля.
Миниатюры
Как сохранить изменённые данные в текущей строке набора данных, динамически созданного поля  
0
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 18
18.06.2021, 21:54  [ТС]
iSmokeJC,

И ещё, Я пишу: " "'" + tf.getText() + "'" ", а это значит, что у меня только текст добавляется, а значения int нет.... Ещё проблема
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.06.2021, 21:57
Tolko sprosit, привет.
Т.е. судя по картинке. Ты выбрала таблицу Book2, перелистала кнопками до некоей записи с id=1, id_string=11 и т.д. (что отображается справа над таблицей в редактируемых полях).
Теперь надо что-то поменять в этих полях и сохранить обратно в БД? Я правильно понял? Или опять нет?

Добавлено через 1 минуту
Цитата Сообщение от Tolko sprosit Посмотреть сообщение
а значения int нет.... Ещё проблема
Это не проблема. Просто Integer.parseInt(твой_текст)
0
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 18
18.06.2021, 22:01  [ТС]
Да, вроде, правильно)
Мне вообще кажется, что есть какой-то иной способ. Или Я не так понимаю это задание...
Может, можно связать эти JTextField с базой данных... Не знаю, Я только изучать начала.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.06.2021, 22:07
Цитата Сообщение от Tolko sprosit Посмотреть сообщение
Может, можно связать эти JTextField с базой данных
Можно. Но это не так просто, да.
Кажись понял в чем проблема. При выборе разных таблиц, количество столбцов и соотв. количество текстфилдов справа меняется и...
0
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 18
18.06.2021, 22:11  [ТС]
iSmokeJC,
Да, в этом проблема.

Если бы это были просто два текстфилда и табличка, то внести изменения не составило бы труда, а тут это...

Я уже сократила количество таблиц, оставив только две, которые связаны как родительская и дочерняя. Но увы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2021, 22:11

Данные из динамически созданного TEdit в массив
for i:=1 to n do begin with TEdit.Create(Form1) do begin Parent := Form1; Top := 80; Left := i * 50; ...

Чтение данных из динамически созданного контрола
Доброго, форумчане. Как можно получить данные из textbox созданного динамически? Запускаем программу, клацаем &quot;Создать&quot;...

Как сохранить все измененные настройки в программе
Здравствуйте, подскажите, как сохранить все измененные настройки в программе? чтобы они были при следующем запуске ПО?

Задать тип данных, содержащий два поля: Фамилия, Возраст. Последовательно ввести данные на трех человек и сохранить их в файле
Задать тип данных, содержащий два поля: Фамилия (строковый), Возраст (целочисленный). Последовательно ввести данные на трех человек и...

SaveTextFileDialog - как из поля Memo1 сохранить в текстовый файл данные???
Есть SaveTextFileDialog1 и поле Memo1 с текстом. - как из поля Memo1 сохранить в текстовый файл все данные ?? if...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru