Java 在JTable中添加/删除数据库中的数据
我创建了一个Jtable,用于存储数据库中的数据,我可以使用Jbutton删除/添加Jtable的内容。当我没有尝试运行代码时,我得到了以下结果: 当我两次向Jtable中添加数据时,其中有一个额外的空行 当我两次将数据删除到Jtable中时,特定行中的数据将被删除,但它也会添加一个透明的空行。 为什么会发生这种情况 下面是我认为存在问题的代码:Java 在JTable中添加/删除数据库中的数据,java,sql,swing,jtable,awt,Java,Sql,Swing,Jtable,Awt,我创建了一个Jtable,用于存储数据库中的数据,我可以使用Jbutton删除/添加Jtable的内容。当我没有尝试运行代码时,我得到了以下结果: 当我两次向Jtable中添加数据时,其中有一个额外的空行 当我两次将数据删除到Jtable中时,特定行中的数据将被删除,但它也会添加一个透明的空行。 为什么会发生这种情况 下面是我认为存在问题的代码: //add,delete button final JToggleButton tglbtnAdd = new JToggleButton("Add"
//add,delete button
final JToggleButton tglbtnAdd = new JToggleButton("Add");
final JToggleButton tglbtnDelete = new JToggleButton("Delete");
JButton button = new JButton("1");
button.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent arg0) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection dbconbt1 = DriverManager.getConnection("" +"jdbc:sqlserver://localhost;databaseName=Store;user=sa;password=");
Statement sqlstatement = dbconbt1.createStatement();
ResultSet dbresultset1 = sqlstatement.executeQuery("select * from Store.dbo.Product where ProductID = 'P-1'");
ResultSetMetaData rsmetadata = dbresultset1.getMetaData(); // Get metadata on them
int numcols = rsmetadata.getColumnCount(); // How many columns?
// Get column names
for (int i = 1; i <= numcols; i++) {
defaultmodel2.addColumn( rsmetadata.getColumnName(i));
}
if(tglbtnAdd.isSelected() == true) {
while (dbresultset1.next()) {
Vector<Object> row = new Vector<Object>(numcols);
for (int i = 1; i <= numcols; i++) {
row.addElement( dbresultset1.getObject(i) );
}
defaultmodel2.addRow(row );
}
}
if(tglbtnDelete.isSelected() == true) {
/**while (dbresultset1.next())
{
Vector<Object> row = new Vector<Object>(numcols);
row.removeElement( dbresultset1.getObject(0) );
}
*/
defaultmodel2.removeRow(0);
}
// Get row
dbresultset1.close();
sqlstatement.close();
dbconbt1.close();
使您的表结构只加载表单,只需从JTextField或您使用的任何对象数组中获取数据。最后,将对象数组添加到模型中。对于delete,只需调用model.removeow方法 你能给我更多的信息吗?我不明白,输入jtable的数据来自数据库。