/* * 将表格里的修改内容,全部保存到数据库里面 */ table.getCellEditor().stopCellEditing(); //先结束单元格的编辑 Vector <Object> v_1 = new Vector<Object>(); for(int a=0; a<table.getRowCount(); a++) //循环复制表格中数据到向量集V_1 for(int b=0; b<table.getColumnCount(); b++) v_1.add(tableModel.getValueAt(a, b)); int n=0; //定义变量n判断数据库中受到影响的数据表行数 Iterator<Object> its = v_1.iterator(); while(its.hasNext()){ //循环遍历向量集,并将数据保存到数据库 Connection conn = null; PreparedStatement preStat = null; try{ conn = com.dao.DBUtils.getConnection(); String sql = "insert into 客房信息表 values ( ? , ? , ? , ? , ? , ? , ? , ? )"; preStat = conn.prepareStatement(sql); preStat.setObject(1, its.next()); //对应数据表字段 员工编号 varchar(12) preStat.setObject(2, its.next()); //对应数据表字段 员工姓名 varchar(12) preStat.setObject(3, its.next()); //对应数据表字段 身份证 varchar(12) preStat.setObject(4, its.next()); //对应数据表字段 性别 char(2) preStat.setObject(5, its.next()); //对应数据表字段 联系电话 varchar(11) preStat.setObject(6, its.next()); //对应数据表字段 入职时间 datetime preStat.setObject(7, its.next()); //对应数据表字段 职位 char(8) preStat.setObject(8, its.next()); //对应数据表字段 年龄 int preStat.executeUpdate(); n=n+1; tableModel.removeRow(0); //操作完成后,删除表格中的数据 }catch(Exception e1){ e1.printStackTrace(); }finally{ DBUtils.close(null, preStat, conn); } }
附数据表:附错误类型:
com.microsoft.sqlserver.jdbc.SQLServerException: 列名或所提供值的数目与表定义不匹配。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1522)
添加回答
举报
0/150
提交
取消