我有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);
问题是..getRowCount不知道该行是否为空,那么在数据库中,该空值仍将被插入(它将在数据库中生成我的自动增量值)
我的问题是如何从jtable中插入数据库,但是空行不会插入?
如果我要求太多,请给我一个处理空行的线索,
原谅我的英语
下面是向数据库中添加数据的坏方法
public void addToDatabase(){
for (int i=0;i<table.getRowCount();i++){
//#####################################
//maybe need something in here
if(table.getValueAt(i, 0)==null||table.getValueAt(i, 1) ==null){
return;
//and maybe need something not return, but to get the next row (Just.. maybe ...)
//#####################################
}else{
try{
Connection c = getCon("databasez");
PreparedStatement p = c.prepareStatement("INSERT INTO table_data VALUES (?,?)");
p.setString(1, table.getValueAt(i, 0).toString());
p.setFloat (Float.parseFloat(table.getValueAt(i, 1).toString()));
p.executeUpdate();
p.close();
}catch(Exception e){
JOptionPane.showMessageDialog(this, "THERE WAS AN INVALID DATA");
}
}
}
}
假设您使用的是DefaultTableModel
,getValueat()
返回的结果将是null
,直到您编辑相应的单元格。
您还可以注册TableModelListener
以接收TableModelEvent
,该TableModelEvent
可以告诉您的侦听器发生了什么变化。
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());
}
});
问题内容: 我正在尝试将JTable中的多行数据保存到数据库中,这是我的代码供参考: 问题是,它仅将一行数据插入数据库。有人可以帮帮我吗?:( 谢谢! 问题答案: 从循环中删除以下行代码并将其放置在循环之前 示例: 用以下代码替换您的代码 然后运行它认为它起作用。 对于批量插入示例,请参见https://my.vertica.com/docs/5.0/HTML/Master/14878.htm
我已经在Java中制作了一个GUI,它与MySQL服务器连接并插入,删除,更新数据。我在此GUI上有一个部分,您可以在文本区域中编写MySQL查询,结果显示在上。一切都很好!我可以打印或将它们保存到文本文件中! 现在,我想添加另一个特性:当我双击一个特定单元格时,我想更改的数据,并且我想通过单击按钮来更新MySQL表中的数据。 我在网上找遍了,也找不到好的例子,也找不到好的解决办法。我拥有的< c
我想在Jaspersoft Studio中的报表中的详细信息带中插入来自数据库的图像。 JPG图像保存在MySQL中的longblob类型的imgdata字段中。 我试图将此表达式放在Image元素中: 在第一种情况下,我得到以下错误: ...在第二种情况下,这个错误是: 我的问题是:如何将数据库中的图像插入到JasperReports的报表中?
我遵循了从表从数据库显示JTable的方法,但我不知道如何从JTable中插入、更新和删除一行,并在数据库中更新,然后刷新JTable以从新更新的数据库中显示。 我想添加一个“添加项”按钮,然后它会弹出一个框架/窗口,其中有字段要输入,然后在弹出的框架中单击“添加”后,JTable和数据库将同时更新。 有人能帮我做这件事吗?我迷路了..非常感谢!
我试图将选中的项目从checkedlistbox保存到我的SQL数据库,并从同一个SQL数据库填充我的checkedlistbox,到目前为止,我能够从checkedlistbox中获取选中项的文本,并将其保存为字符串,然后使用标签显示是否获取选中项的文本及其工作情况,但当我尝试在数据库中插入选中的数据时,我收到一个错误“连接属性尚未初始化”关于ExecuteNonQuery()方法。 这个错误
我制作了一个JTable,其中填充了数据库中的数据。它从textfields中获取数据并将其添加到表和数据库中。问题是我有一个删除按钮,我让它从表本身删除选定的行(使用defaultTableModel),但它不会从实际的数据库中删除该数据。当我再次运行该程序时,删除的行再次出现在JTable中。 这可能会变得混乱,但希望有人能找出我错过了什么。帮助将会很感激,但不要,我的时间很少,不能完全大修我