数据库循环读取时能否在操作数据库?

y2565120 2012-10-14 02:34:36
......
conn = new SqlConnection(strconn);
conn.Open();
SqlCommand cmd = new SqlCommand(); //创建sqlcommand对象
cmd.Connection = conn; //指定使用conn链接数据库
string sql1="....";
cmd.CommandText = sql1;
cmd.CommandType = CommandType.Text;
SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.read())//本来就是数据库读取循环
{
string a = sdr.getstring(0);
string b = sdr.getstring(1);
sql2="insert into table1 (a,b) values ('"+a+"','"+b+"')";
执行上面的sql2
.......这里怎么写?
}
........
...全文
93 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dalmeeme 2012-10-14
  • 打赏
  • 举报
回复

......
cmd.CommandType = CommandType.Text;
SqlDataReader sdr = cmd.ExecuteReader();

SqlConnection cn = new SqlConnection(strconn);
SqlCommand cmd2=new SqlCommand(null,cn);
cn.Open();
while (sdr.read())//本来就是数据库读取循环
{
string a = sdr.getstring(0);
string b = sdr.getstring(1);
cmd2.CommandText="insert into table1 (a,b) values ('"+a+"','"+b+"')";
cmd2.ExecuteNonQuery();
}
cn.Close();
winner2050 2012-10-14
  • 打赏
  • 举报
回复
用了 ExecuteReader 就不能边读边操作。

变通一下就行了,读取完了再操作就得了。

使用DataSet 就行了。
  • 打赏
  • 举报
回复
这需要另外一个 SqlConnection 实例,在这个另外的数据库连接上去执行 SqlCommand。

110,822

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧