软件工程日报十七——结对作业

 今日学习总结今天我和我的小cp学习了关于java 数据库遍历以及动态建立联通表的知识。

{

stmt = con.createStatement();// 创建Statement对象,依赖于Connection创建
rs = stmt.executeQuery("select * from salary");
while (rs.next()) {//下一行
int id = rs.getInt("id");//获取id这一列
int e_id = rs.getInt("e_id");
int month = rs.getInt(3);//获取第三列,和上面一样是2种不同的写法
int basic = rs.getInt(4);
int more = rs.getInt("more");
System.out.println(id + " " + e_id + " " + month + " " + basic + " " + more);
}

 

 

 通过使用while循环并且创建一个新的变量,另变量等于数据表中的字段数据。

然后进行循环逐个赋值。

然后再数据库类中写一个sql语句“CREAT TABLE ”建立新表并且将删除表中数据功能完善,以便于后期修改添加新站点。

将遍历后的数据再通过“INSERT INTO”语句插入到新的表中,实现联通表的动态创建。 

首先我们可以写出如下代码:      

             for(i=0;i<nodenum-1;i++)

{      

 for(j=0;j<nolist.get(i).get_feature_count();j++)

{            sqlin = "insert into random_data( id,";   

 for(i=0;i<nodenum-1;i++)sqlin+="ND"+i+",";         

   sqlin+= "ND"+(nodenum-1);            

sqlin+=") values(";          

 }     

 }  

 

可以得到 “  insert into random_data( id,ND0,ND1,ND2,ND3,ND4,ND5,ND6) values(  ”的字符串 ,之后的部分必须动态的重构出来,才能拼接完整,令 over 也是ArrayList类型,

是原数据集ArrayList中数据每隔列数个就存入一次得到的,其输出已经形如:   

  '2','3','1','0','2','1','4',       '4','2','5','6','2','1','2',      '3','2','4','0','2','2',再用 T = T .substring(0,T.length()-1) 这个方法去掉最后重复的逗号。

现在,完整的insert语句中values括号内的字符串已经得到,最后过程,有如 下代码:

  for(i=0;i<over.size();i++)

{     

String sqldo = sqlin +"'"+(i+1)+"',"+ over.get(i) + ");";    

 //System.out.println(sqldo);     

 statement.executeUpdate(sqldo);           

  } 

 

 输出拼接完成的字符串,可得到若干字符串形如: 

insert into random_data( id,ND0,ND1,ND2,ND3,ND4,ND5,ND6) values('3','2','4','0','2','2','0');  
  至此,由以上种种操作,已经得到了以下字符串,显然它们就是是我们想要的sql执行语句:

 create table random_data( id int(32),ND0 int(32),ND1 int(32),ND2 int(32),ND3 int(32),ND4 int(32),ND5 int(32),ND6 int(32) );

insert into random_data( id,ND0,ND1,ND2,ND3,ND4,ND5,ND6) values('3','2','4','1','0','3','2');  select * from random_data where id = "16760"; //具体查询不做详述   

由于在for循环中进行,每次拼接完成后随即执行,完成循环的同时也完成了对数据库中数据的插入操作,所以动态建立的表格中便动态插入了数据。 

 

posted @ 2023-03-15 21:23  伽澄  阅读(16)  评论(0编辑  收藏  举报