阅读器关闭时尝试调用Read无效时的解决方法

简介: 阅读器关闭时尝试调用Read无效时的解决方法

今天在写asp .netmvc的项目时,发现了个困扰我很久的问题,经过仔细研究终于解决了。

问题如下:

首先来看一下原来有问题的代码:

public static SqlDataReader Excutereader(string sql,params SqlParameter [] param) {
            using (SqlConnection conn = new SqlConnection(constr)) {
                SqlCommand cmd = new SqlCommand(sql,conn);
                PrepareCommand(conn,cmd,sql,param);
                return cmd.ExecuteReader();
            }
        }

在网上查了查都是说cmd.ExecuteReader();里面给个参数CommandBehavior.CloseConnection就可以了,结果我放上去之后还是不行,后来将using去掉才可以的,using的作用就是用完之后自动关闭连接,所有既然用了CommandBehavior.CloseConnection关闭连接就无需在用using了,所以去掉即可。下面是正确代码:

//3.查询多条语句
        public static SqlDataReader ExcuterReader(string sql, params SqlParameter[] param)
        {
            SqlConnection conn = new SqlConnection(constr);
            SqlCommand cmd = new SqlCommand(sql, conn);
            Preparcommand(conn, cmd, sql, param);
            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }

以后一定会记住的。

相关文章
|
27天前
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
无法写入用户设置。请打开用户设置并清除错误或警告,然后重试。
无法写入用户设置。请打开用户设置并清除错误或警告,然后重试。
|
6月前
|
开发者
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
99 0
element close事件关闭表单,数据替换掉原始列表的数据bug解决
element close事件关闭表单,数据替换掉原始列表的数据bug解决
77 0
|
Go Python
Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)
Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)
423 0
Go-文件目录操作分类详解(创建、打开、关闭、读取、写入、判断等)
开机显示被调用的对象已与其客户端断开连接,解决方案亲测有效
开机显示被调用的对象已与其客户端断开连接,解决方案亲测有效
1788 0
开机显示被调用的对象已与其客户端断开连接,解决方案亲测有效
|
SQL 缓存 Oracle
Java 技术篇 - 连接oracle数据库执行sql使用close()关闭createStatement()无效无法清除游标缓存问题解决,报“ORA-01000: 超出打开游标的最大数“错误解决方法
Java 技术篇 - 连接oracle数据库执行sql使用close()关闭createStatement()无效无法清除游标缓存问题解决,报“ORA-01000: 超出打开游标的最大数“错误解决方法
576 0
Java 技术篇 - 连接oracle数据库执行sql使用close()关闭createStatement()无效无法清除游标缓存问题解决,报“ORA-01000: 超出打开游标的最大数“错误解决方法