当我们使用这三种情况时,有什么不同的情况?我应该在哪里使用,在哪里不应该?

推荐答案

  • ExecuteScalar通常在查询返回单个值时使用.如果返回更多,则结果是第一行的第一列.例如SELECT @@IDENTITY AS 'Identity'.
  • ExecuteReader用于具有多行/多列的任何结果集(例如SELECT col1, col2 from sometable).
  • ExecuteNonQuery通常用于没有结果的SQL语句(例如,UPDATE、INSERT等).

Asp.net相关问答推荐

无法在Microsoft Windows Server 2016(数据中心)上运行.NET可移植性分析器

将 Response.Headers.Add 替换为方法属性decorator

如何在 asp.net 服务器中使用字体

如何以编程方式设置单元格 colored颜色 epplus?

如何在 IIS 上配置 Web Deploy 发布功能,以便开发人员可以发布?

系统日期时间?与 System.DateTime

如何获取已构建、编码的 ViewState 的值?

在 EF4.1 中正确地从上下文中附加和分离实体

将 ASP.NET 成员资格表添加到我自己的现有数据库中,还是应该配置一个单独的 ASP.NET 成员资格数据库?

ASP.NET 控件无法在 Visual Studio 2008 的代码隐藏中引用

在 Asp.net Rowcommand 事件中获取行索引

AddDefaultTokenProviders:它是什么以及如何使用那些默认提供者?

如何设置asp.net身份cookie过期时间

在asp.net控件之间动态添加

ASP.NET MVC 4 的 Windows 身份验证 - 它是如何工作的,如何测试它

ASP.NET 按钮重定向到另一个页面

主机与 DnsSafeHost

elmah:没有 HttpContext 的异常?

如何将代码中的变量调用到aspx页面

如何加密 web.config 中的一项