首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于Ado.net的一个有关问题

2012-02-01 
关于Ado.net的一个问题现在有2张表,表1和表2,首先要打开表1,然后对表1进行循环,根据表1中某个字段的值到表

关于Ado.net的一个问题
现在有2张表,表1和表2   ,首先要打开表1,然后对表1进行循环,根据表1中某个字段的值到表2中查询相关的记录,在ADO中,一般用
rs.open(表1....)
do   until   rs.eof
    rs1.open( 'select   *   from   表2   where   XXX= '+rs.fields(X).value,.....)
    .......
    rs1.close
loop


现在用ado.net,发现这种方式不行了,
建立了一个sqlconnection,一个command,二个Sqldatareader
然后

....连接数据库
reader   =   m_command.executereader()
....

while(reader.read())
{
        m_command.commandtext= "select   *   from   表2   where   XXX= "+reader[0].tostrign()
        reader2   =   m_command.executereader()     <-   此句报错

        ........
}
}

好像一个连接在同一时刻只能有一个reader是打开的,那像上面的情况怎么处理呢?

[解决办法]
可以换用DataSet 和 DataTable

[解决办法]
贴全一点 看不出来这样

感觉应该是reader2 = m_command.ExeNoQuery()
[解决办法]
一个连接只能打开一个SqlDataReader , 其独占连接
楼主先把数据填充到一个DataTable,然后循环DataTable,获取值后再去查询数据库

热点排行