maqiniubi 2023-08-13 17:22 采纳率: 0%
浏览 6

已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。

已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
代码如下:

        static void Main(string[] args)
        {
            SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder();
            connectionStringBuilder.InitialCatalog = "DWYS";
            connectionStringBuilder.DataSource = "127.0.0.1";
            connectionStringBuilder.UserID = "sa";
            connectionStringBuilder.Password = "meirenai.";
            connectionStringBuilder.MultipleActiveResultSets = true;
            SqlConnection sqlConnection = new SqlConnection(connectionStringBuilder.ToString());
            sqlConnection.Open();

            SqlCommand cmd = new SqlCommand("SELECT [username],[password] FROM [dbo].[user]", sqlConnection);
            SqlDataReader sqlDataReader = cmd.ExecuteReader();
            Console.WriteLine(cmd.ExecuteNonQuery());
            sqlConnection.Close();
        }

求解答

  • 写回答

2条回答 默认 最新

  • wanghui0380 2023-08-13 17:55
    关注

    正常情况我们建议新人使用 DataTable,而不是dataReader
    虽然某个园子会告诉你们用reader好,不过飙车这种事情,还是等能正常上路了在说。

    你这里差个sqlDataReader.close(),虽然就一句话差别。但是就像飙车一样,多踩一脚油门就需要有多踩一脚油门的处理技术

    你这代码暂时只是个异常,不过很多入门的新人会在下面在写个循环套循环,N个循环就有N个reader,conn还都是open的。
    这样连接池有多少个都不够你用的,一个普通功能20个人并发访问就挂了

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月13日

悬赏问题

  • ¥15 短剧的sdk在哪里接入
  • ¥15 求:可不可以提供一些 在国内可以用,低代码不要太难 在电脑上可以下载的 制作app的软件
  • ¥60 找人回答kibana8.14.3二次集成开发,自定义插件ui导航栏如何设置
  • ¥15 fluke高精度万用表8845A型号测交流电压一直跳动,且去掉输入后显示不归零
  • ¥15 不同模型怎么用同一个shader
  • ¥15 安卓启动没有ais proxy与v4l2的log打印
  • ¥15 go怎么读取mdb文件里面的数据
  • ¥60 Matlab联合CRUISE仿真编译dll文件报错
  • ¥15 脱敏项目合作,ner需求合作
  • ¥15 脱敏项目合作,ner需求合作