请问:数据库中有好几条记录,但是不知道有多少条记录,用哪条语句来实现啊?然后我用 SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) 循环读取数据库中的每条记录的每个字段,用什么样的方法才能把这些记录里的每个字段再放入到另一张表中去,如果一边读一边往数据库里面插入数据,就会说要把DataReader首先关闭,请问大家,我该用什么样的方法来解决这个问题,谢谢!!!!

解决方案 »

  1.   


    --列好匹配
    insert into 表1(列1,列2,列3) 
    select 列1,列2,列3 from 表2 where 你的条件
      

  2.   

    UP再说了,你也可以用Map或者List啊!
    然后循环插值
    for (int i=0;i<readISms.size();i++)
    {
    Map smsMap;
    smsMap=(Map)readISms.get(i);
    strSender=smsMap.get("FromId").toString();
    strCreateDate=smsMap.get("CreateDate").toString();
    strContent=smsMap.get("content1").toString(); //连接声明之类的省略
             string sql="insert into 表 (......)"
            //连接关闭之类的省略

    }
      

  3.   

    可以读出来存到ArrayList
    然后循环读取ArrayList并插入数据表
      

  4.   


    对这情况,如果采用循环读出一条返回到asp.net 再插入到新表中是最不可取的.直接用一条命令,楼上几位已说出来了.
    insert into 表1(列1,列2,列3) select 列1,列2,列3 from 表2 where 你的条件