java如何将表的所有数据放入JTable并插入数据库
您好,我的朋友在这段代码中,我想将输入到JTable
中的所有数据插入到我的数据库中,但将数据输入到数据库的for循环中出错,结果如下:
http://i67.tinypic.com/5mwgt4.png
final void tabledata(){
int rows=jt.getRowCount();
int colms=jt.getColumnCount();
int bpss=0,spss=0;
for(int i=0;i<colms;i++){
for(int j=0;j<rows;j++) {
if(i==0){
String qtys= jt.getValueAt(j,i).toString();
int qtyss=Integer.parseInt(qtys);
System.out.print(qtyss);
try{stmt.execute("INSERT INTO ITEMS(QTY) VALUES("+qtyss+")");}
catch (SQLException ex) {ex.printStackTrace();}
}else{
if(i==1){
String codes= jt.getValueAt(j,i).toString();
int codess=Integer.parseInt(codes);
System.out.print(codess);
try{stmt.execute("INSERT INTO ITEMS(CODE) VALUES("+codess+")");}
catch (SQLException ex) {ex.printStackTrace();}
} else{
if(i==2){
String names=jt.getValueAt(j,i).toString();
System.out.print(names);
try{stmt.execute("INSERT INTO ITEMS(NAME) VALUES('"+names+"')");}
catch (SQLException ex) {ex.printStackTrace();}
} else{
if(i==3){
String bps= jt.getValueAt(j,i).toString();
bpss=Integer.parseInt(bps);
System.out.print(bpss);
try{stmt.execute("INSERT INTO ITEMS(BUYPRICE) VALUES("+bpss+")");}
catch (SQLException ex) {ex.printStackTrace();}
} else{
if(i==4){
String sps= jt.getValueAt(j,i).toString();
spss=Integer.parseInt(sps);
System.out.print(spss);
try{stmt.execute("INSERT INTO ITEMS(SELLPRICE) VALUES("+spss+")");}
catch (SQLException ex) {ex.printStackTrace();}
}}}}}}}
}
# 1 楼答案
INSERT将一条全新的记录添加到数据库中。 因此,当您插入数量时,您只使用一个数量创建记录,而所有其他字段都为空。 然后,当你插入代码等,你做同样的事情。因此,创建新记录时,其他字段中没有任何内容。 我建议您读取每一行,然后创建一条sql语句,该语句的内容如下: 在项目(数量、代码、名称、买价、卖价)中插入值(…,…,…)
这将创建所有字段都已填写的记录
# 2 楼答案
首先要做的是下载rs2xml。jar安装此jar后,将其添加到库中。因此,您可以将结果集填充到TableModel中。我使用DB Derby制作了一个示例gui,可以在其中插入并填充到表模型中。我在这里用了一份事先准备好的声明
创建表模型的语法:
希望这有帮助。rs2xml的链接。罐子 http://en.osdn.jp/projects/sfnet_finalangelsanddemons/downloads/rs2xml.jar/