Java 如何从jtable插入数据库?

Java 如何从jtable插入数据库?,java,swing,jdbc,jtable,row,Java,Swing,Jdbc,Jtable,Row,我有一个2列的jtable,然后我想把它的值插入数据库 我知道这可以用……之类的东西来完成 int count=table.getRowCount(); for(int i=0;i<count;i++){ Object obj1 = table.getValueAt(i, 0); Object obj2 = table.getValueAt(i, 1); int count=table.getRowCount(); 对于(inti=0;i,它可能会帮助你。 首先,我在这里看到了

我有一个2列的jtable,然后我想把它的值插入数据库

我知道这可以用……之类的东西来完成

    int count=table.getRowCount();
for(int i=0;i<count;i++){
Object obj1 = table.getValueAt(i, 0);
Object obj2 = table.getValueAt(i, 1);
int count=table.getRowCount();
对于(inti=0;i,它可能会帮助你。

首先,我在这里看到了getData方法,但没有看到您调用的insert或类似方法,因此我认为代码与您所说的内容无关

其次,您还可以学习搜索有关jtable的api。 如果您完全了解一个类的方法以及如何以一般方式使用它,我认为您非常理解和使用它。 这也可以提高你对类似事物的理解。 你会变得越来越坚强,不用问问题就能学会其他困难的事情

这是我的学习计划。

也许它会对你有所帮助。

首先,我在这里看到了getData方法,但没有看到您调用的insert或类似方法,因此我认为代码与您所说的内容无关

其次,您还可以学习搜索有关jtable的api。 如果您完全了解一个类的方法以及如何以一般方式使用它,我认为您非常理解和使用它。 这也可以提高你对类似事物的理解。 你会变得越来越坚强,不用问问题就能学会其他困难的事情


这是我的学习程序。

假设您使用的是
DefaultTableModel
,则
getValueAt()
返回的结果将为
null
,直到您编辑相应的单元格为止

您还可以注册一个
TableModelListener
,以接收一个可以告诉您的侦听器发生了什么变化的消息

private JTable table = new JTable(1, 2);
...
table.getModel().addTableModelListener(new TableModelListener() {

    @Override
    public void tableChanged(TableModelEvent e) {
        System.out.println(""
            + e.getType() + " "
            + e.getFirstRow() + " "
            + e.getLastRow() + " " 
            + e.getColumn());
    }
});

假设您使用的是
DefaultTableModel
getValueAt()
返回的结果将是
null
,直到您编辑相应的单元格为止

您还可以注册一个
TableModelListener
,以接收一个可以告诉您的侦听器发生了什么变化的消息

private JTable table = new JTable(1, 2);
...
table.getModel().addTableModelListener(new TableModelListener() {

    @Override
    public void tableChanged(TableModelEvent e) {
        System.out.println(""
            + e.getType() + " "
            + e.getFirstRow() + " "
            + e.getLastRow() + " " 
            + e.getColumn());
    }
});
JavaSwing,在数据库中存储jTable数据的简单方法
私有void jButton1ActionPerformed(java.awt.event.ActionEvent evt)//swing按钮
{
字符串名称[]=新字符串[4];//名称为数组,索引4表示行数
String age[]=新字符串[4];//age是数组,索引4表示行数
//从0行循环到4行
对于(inti=0;i
JavaSwing,在数据库中存储jTable数据的简单方法
私有void jButton1ActionPerformed(java.awt.event.ActionEvent evt)//swing按钮
{
字符串名称[]=新字符串[4];//名称为数组,索引4表示行数
String age[]=新字符串[4];//age是数组,索引4表示行数
//从0行循环到4行

对于(int i=0;isory for long time.。我所在的位置断电了…(我需要移动到另一个位置T-T)对于代码(我的坏~,~)。我已经更改了代码并添加了我的坏方法…(很长时间)对于我所在的位置断电了…(我需要移动到另一个位置T-T)对于代码(我的坏~,~)…我已经更改了代码并添加了我的坏方法..非常感谢您的回复..我每天都在想,使用表模型侦听器来知道哪一行有值..然后将所有有值的行插入数据库..这对我来说很复杂..但另一行可能不会觉得复杂考虑到打开一个模态对话框来收集一个新行的数据;请听<代码> TabLimoDele/Cuth>进行更新;使用标记行删除等等。我使用j对话框插入一个新行(新数据)。(老实说,这是我想要避免的,因为我认为用户会觉得我的应用程序很复杂(cz我的应用程序已经使用了很多jdialog))…但是,在最后..我完全按照你说的来使用..谢谢你,伙计..非常感谢你的回答..一天又一天我在想,对我来说,使用表模型侦听器来知道哪一行有值会更复杂..然后将所有有值的行插入数据库..对我来说很复杂..但另一行可能不会感到复杂谢谢你的回答。这有点复杂,但是很灵活。考虑打开一个模态对话框来收集数据来插入一个新行;听<代码> TabLimoDele/Cuth>进行更新;用来标记行删除等等。我用J对话框来插入一个新行(新数据)。(老实说,这是我想要避免的,因为我想用户会觉得我的应用程序很复杂(cz我的应用程序已经使用了很多jdialog))…但是,最后..我完全按照你说的做..谢谢你,伙计。。
JAVA swing,SIMPLE WAY TO store jTable DATA in database


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) // swing Button
{
 String name[] =new String[4]; // name is array and index 4 means no. of row 
 String age[]=new String[4]; //age is array and index 4 means no. of row  
//loop from 0 row to 4
for(int i=0;i<4;i++) 
 {
 name[i]=table.getValueAt(i,0).toString(); // it get value from 0 row and 0 column
 age[i]=table.getValueAt(i,1).toString();  // it get value from 0 row and 1 column

//similarly for more column  

try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/crm","root","");
Statement s1=con.createStatement();
int mc=s1.executeUpdate("insert into testtable(Name,Age) values('"+name[i]+"','"+age[i]+"')");

}

        catch(Exception ex)
        {
            javax.swing.JOptionPane.showMessageDialog(null,ex.getMessage().toString());

        }
}