关于SqlDataReader 的关闭问题 可是我在SQLSERVER的管理工具中看到的连接好像并没有被释放呀,是怎么回事 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的connection没有关闭啊connection.Close(); 过程外怎么关闭connection?如果在过程内关闭了,return objReader;就不能返回值了我在程序中用了CommandBehavior.CloseConnection,大家不是都就这个是在datareader关闭的时候Connection会自动关闭吗?但是在过程外有没有什么用呢? 如果没有用的话,那怎么返回sqldatareader 用datareader有个缺点就是它的connection.open()跟.close()不好控制那你在每次执行前先要判断它是否打开如果打开就继续执行否则就要打开没执行完reader都要把connection关闭 要用到数据访问层来访问数据,由于获取数据和使用数据是在不同的类中,而且大多数情况还不在同一个assembly中,所以数据层返回的结果不可能是DataReader,因为DataReader是同一个打开的连接关联的,在使用找个DataReader时相应的连接必须是打开的,所以在分层结构中用DataReader返回数据是不合理的.做数据层时可以统一结果用datatable或dataset返回 你反正是要读取一批数据,就是读取数据的时候,你的数据库是连接的,一旦读完了,马上关闭,问题是你现在返回DataReader,这肯定不可行,因为它是需要数据库一直是连接的。所以你可以返回DataSet,.net 得 ado.net 的核心东西,你不要忘记用啊!!! 建议还是使用DataSet和DataTable,每当读取一批数据后就关闭可能解决你上述问题。 楼上几位说的好,如果不在同一个类里,就不要用DataReader了,使用datatable或dataset吧。 同意楼上的!我一般用datatable dataset这样用完就关闭! 没关系的,这都是一些缓冲的connection,长期不用后数据库会自己释放的。 你的代码本身没有任何问题。一旦你关闭了reader以后conn也会被关闭。至于连接问题,呵呵它的销毁有.net本身负责完成,可能是它没有及时处理吧 http://blog.joycode.com/saucer/archive/2004/07/24/28365.aspx 请高人指点条件表达式文法怎么写? C# Mschart 如何为一条画好的线 添加一个标签? C#.net中的20多种设计模式中,哪些设计模式用的更多? 看到有代码操作SqlServer数据库用odbc驱动操作 关于image字段的问题 我真的不知道该怎么办了!!!! c#如何设置excel的公式?在线等!着急!100分相送. c代码struct中数组如何用c#重写 锁屏代码 自定义用户控件中,如何让lable变成背景透明? dropdownlist简单问题,让他变 征集Visual C#.net的快捷键!!!
connection.Close();
如果在过程内关闭了,return objReader;
就不能返回值了
我在程序中用了CommandBehavior.CloseConnection,大家不是都就这个是在datareader关闭的时候Connection会自动关闭吗?但是在过程外有没有什么用呢?
那你在每次执行前先要判断它是否打开如果打开就继续执行否则就要打开
没执行完reader都要把connection关闭
这样用完就关闭!