当创建多个datareader对象.时,系统将提示“已有打开的与此连接相关联的datareader,必须首先将它关闭,并不是我想多创建几个这样的对象,只因数据是按树状结构分布的,通过递归来完成数据的访问,所以才会出现多个datareader的情况,我把问题分析有如下几种可能性:
2.我用的连接或相关的对象存在相应的属性设置,这种情况倒是有可能,但我无资料可查,通过属性浏览也没有看到可能的属性对象. 【程序编程相关:关于XML:以对象模型为中心 】
1.数据库本身的限制,这种情况不可能,我在asp中采用的odbc访问,没出现问题,转到.net时才出现这样的情况. 【推荐阅读:[FxCop.设计规则]5. 避免命名空】
所以我把源码列出来,让大家帮个忙,有没有解决的办法,示例代码用的是odbc,原先用的是sqlclient,结果都是一样的. 【扩展信息:ASP自定义控件的两种实现方法 】
3..net本身的bug,这种可能性也是很大的,一般的对象的默认情况应该能够正常操作,通过限制来达到其他其他相关需求,如安全性等.
using system;using system.data ;using system.data .odbc ;
namespace consoleapplication1{ /// <summary> /// class1 的摘要说明. /// </summary> class class1 { public odbcconnection conn; /// <summary> /// 应用程序的主入口点. /// </summary> [stathread] static void main(string[] args) { // // todo: 在此处添加代码以启动应用程序 // new class1 ().do ();
... 下一页