我在Java中有一个表,其中包含几行,但是当我保存数据时,仅保存了最后一行,其余的则不保存。
下面是我的代码:
try {
int rows=jTable1.getRowCount();
for (int row = 0; row < rows; row++) {
String qtys = (String) jTable1.getValueAt(row, 0);
String name = (String) jTable1.getValueAt(row, 1);
String commo = (String) jTable1.getValueAt(row, 2);
String wei = (String) jTable1.getValueAt(row, 3);
String queryco = "Insert into invoice(qtys,name,commo,wei) " +
"values ('"+qtys +"','"+name+"','"+commo+"','"+wei+"')";
pst = conn.prepareStatement(queryco);
pst.execute();
}
JOptionPane.showMessageDialog(null, "Successfully Save");
}
catch (Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
}
参考方案
package com.sample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class JTableExample {
JFrame f;
// Table
JTable j;
void process() throws Exception
{
// Frame initiallization
f = new JFrame();
// Frame Title
f.setTitle("JTable Example");
// Initializing the JTable
j = new JTable();
j.setBounds(30, 40, 200, 300);
DefaultTableModel dtm = new DefaultTableModel(0, 0);
// add header of the table
String header[] = new String[] { "Prority", "Task Title", "Start",
};
// add header in table model
dtm.setColumnIdentifiers(header);
for (int count = 1; count <= 1000; count++) {
dtm.addRow(new Object[] { "data"+count, "data"+count, "data"+count});
}
j.setModel(dtm);
// adding it to JScrollPane
JScrollPane sp = new JScrollPane(j);
f.add(sp);
// Frame Size
f.setSize(500, 200);
// Frame Visible = true
f.setVisible(true);
int rows=j.getRowCount();
Class.forName("com.mysql.jdbc.Driver");
Connection connection =
DriverManager.getConnection("jdbc:mysql://localhost:3306/sakila",
"root","root");
String sqlQuery = "Insert into sakila.student(name,dep,rollnumber)
values(?,?,?)";
PreparedStatement stmt = connection.prepareStatement(sqlQuery);
try {
for(int row = 0; row<rows; row++)
{
System.out.println("Count:"+row);
stmt.clearParameters();
String name= (String) j.getValueAt(row, 0);
String rollNumber = (String) j.getValueAt(row, 1);
String dep = (String) j.getValueAt(row, 2);
stmt.setString(1, name);
stmt.setString(2, dep);
stmt.setString(3, rollNumber);
stmt.executeUpdate();
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
connection.close();
}
// Driver method
public static void main(String[] args) throws Exception
{
JTableExample jt = new JTableExample();
jt.process();
} }
我使用了这段代码,可以将5000行存储到数据库而没有任何问题。所有数据已成功存储在数据库中。
Java Swing SearchBox模型 - java我需要使用Java Swing的搜索框,如果单击任何建议,当输入字母时它将显示来自数据库的建议,它将执行一些操作。如果有可能在Java swing中,请提供源代码提前致谢 java大神给出的解决方案 您可以使用DefaultComboBoxModel,输出将是这样。Try this在此代码中,您将找到countries数组,因此您需要从数据库中获取此数组。
Swing-典型桌面应用程序中的并发 - java这可能是一个广泛的问题,但我想知道单用户桌面应用程序通常在何处使用并发。您如何发现理想情况下(在设计阶段)并发问题?附注:从操作系统理论上来说,并发问题通常发生在无法共享资源(例如打印机)的情况下。不过,我仍然对在编程级别上可能发生的情况感到迷惑。 java大神给出的解决方案 Event Dispatch thread与其他逻辑之间的Swing中可能存在线程…
在Map中,如果我们使用现有键进行修改,则不会获得ConcurrentModificationException - java我有以下代码,我希望从情况2的情况下抛出ConcurrentModificationException,但它运行成功。据我所知,如果我对地图中的单个键执行相同的操作,则不会抛出异常,因为here但是当我重现这种具有两个案例的多个密钥的场景时,通过新密钥修改。通过现有密钥进行修改。情况1: Map<String,String> mp = new H…
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
java:继承 - java有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…