java - 将选定的行插入mysql

标签 java mysql

EDITED 我更改了 SQL 代码并且它有效,但我得到了异常: "无法设置空表模型

我见过很多非常相似的例子,但不是我需要的那个。 因此我们开始:

这很简单 - 在 InternalFrame 中,我插入代码、项目名称、Teamleiter、描述,然后单击“Teilnehmer”以列出“tbl_teinehmer”表中所有项目的所有成员。仅显示姓氏。

因此,我将相应的数据插入到字段中,列出项目成员并选择将参与我创建的这个新项目的成员。

为了将“teilnehmer”中的数据和选定行插入新表:

   private void buttonAnlegenActionPerformed(java.awt.event.ActionEvent evt) {                                              
            String data = tbl_teilnehmer.getValueAt(tbl_teilnehmer.getSelectedRow(), 0).toString();
            String sql = "INSERT INTO TBL_PROJETO (PROJEKT_ID, PROJEKTNAME, TEAMLEITER, BESCHREIBUNG,**TEILNEHMER**)"; //now it works but I get the exception: cannot set a null TableModell.
                    + "  VALUES(?,?,?,?,?)";
            menu = new HauptMenu();
            try{
                PreparedStatement pst = conn.prepareStatement(sql);
                pst.setString(1, ct.getText());
                pst.setString(2, nt.getText());
                pst.setString(3, st.getText());
                pst.setString(4, beschreibungText.getText());
                pst.setString(5, data);
                pst.execute();
                menu.listaProjetos();
                JOptionPane.showMessageDialog(null, "Projekt added to Database");

            }
            catch(Exception e){
                System.out.println(e);
            }
            try{
                conn.close();
            }catch(SQLException ex){
                JOptionPane.showMessageDialog(null, ex.getMessage());
            }
            ct.setText("");
            nt.setText("");
            st.setText("");

        } 

这是错误:

  java.sql.SQLException: Parameter index out of range (5 > number of parameters, which is 4).

也许问题出在 PreparedStatemend 声明上。 我设置了

pst.setString(5, data);

因为它会从可变数据中识别出选定的行,但我猜这是错误的。

最佳答案

按如下操作

 pst.setString(0, ct.getText());
 pst.setString(1, nt.getText());
 pst.setString(2, st.getText());
 pst.setString(3, beschreibungText.getText());
 pst.setString(4, data);

关于java - 将选定的行插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30115052/

相关文章:

mysql - 年龄组之间的sql

mysql - sql 显示基于计算列的分区与 mysql

java - 有没有办法知道数据链路层的RTT?

java - JAXB 将子类的实例解码到列表中

java - 有效地从自定义对象实现 JList?

sql - 兼容各种关系型数据库的boolean数据类型

java - 当 API 不应该是公共(public) API 时,在 AWS 上部署我的 REST API

java - 如何将 TimePicker 时间添加到 BroadCast Receiver 待处理 Intent ?

php - innobackupex 流 tar 并从 php 运行

MySQL IF 表达式返回错误