首页 > 其他分享 >ADO.NET ExecuteScalar 方法的使用及注意

ADO.NET ExecuteScalar 方法的使用及注意

时间:2024-06-19 12:36:39浏览次数:19  
标签:cmd ProductName sql ADO NET ExecuteScalar conn ProductId

ExecuteScalar 方法允许我们查询单一结果,我们来看看什么是单一结果,有那些需要注意的事项

1. 下面是我对 ExecuteScalar 的简单封装,接下来我们看看,如何使用

/// <summary>
/// 查询单一结果
/// </summary>
/// <param name="sql"></param>
/// <param name="pars"></param>
/// <returns>object</returns>
/// <exception cref="Exception"></exception>
public static object ExecuteScalar(string sql, params SqlParameter[] pars)
{
    SqlConnection conn = new SqlConnection(connStr);
    SqlCommand cmd = new SqlCommand(sql, conn);
    cmd.Parameters.Clear();
    if (pars != null)
    {
        cmd.Parameters.AddRange(pars);
    }
    try
    {
        conn.Open();
        return cmd.ExecuteScalar();
    }
    catch (Exception ex)
    {
        //记录到日志
        throw new Exception(ex.Message);
    }
    finally { conn.Close(); }
}

2. 如何使用: ExecuteScalar 方法 获取单一结果

//根据ProductId去查询匹配到的数据,拿到ProductName值,
string sql = "select ProductName from Products where ProductId=@ProductId";

//不可写成以下sql语句,虽然说不会报错,但是只会返回第一个ProductName的值,

  string sql = "select ProductName,ProductId,UnitPrice from Products where ProductId=@ProductId";

3. 如何使用: ExecuteScalar 方法判断是否存在此条数据

// 如果查询到了,就会返回1,没有查询到就是0
string sql = "select count(1) from Products where ProductId=@ProductId";

 



标签:cmd,ProductName,sql,ADO,NET,ExecuteScalar,conn,ProductId
From: https://www.cnblogs.com/tlfe/p/18255941

相关文章

  • 最新.NET 8 中的 .NET Core 配置使用方法
    在这篇文章中,我将探讨.NET中配置的演变、框架如何处理配置,并提供实际示例来帮助你在应用程序中实现这些概念。什么是配置?.NET中的配置是指控制应用程序行为的设置。这些设置可以包括重试时间、队列长度、功能标志和机密(如连接字符串)等值。传统上,配置是在编译时应用的,但现......
  • C#/.Net 中的多线程介绍和最佳实践
    I/引言计算机中的线程CPU调度程序和时间切片进程和线程并发和并行性异步与多线程在C中使用多线程的好处#II线程C语言#线程生命周期创建、启动和暂停线程加入中止中断线程取消:停止线程的更好方法III/线程问题死锁和争用条件使用Join和LocksAutoRese......
  • .NET C# 八股文 代码阅读(一)
    .NETC#八股文代码阅读(一)目录.NETC#八股文代码阅读(一)1两种获10000个数的方式,哪种效率更高?为什么?2请说出以下代码AB谁先打印,AB打印的值分别为多少?3关于值类型与引用类型、装箱与拆箱,以下代码会输出什么?4关于变量作用域,以下代码会输出什么?1两种获10000个数......
  • 效率提升利器:一个在线的.NET源码查询网站
    前言你是否有这样的苦恼,有时候需要查询.NET中的某个类型、方法、属性或程序集的源代码,但又不想从GitHub中下载源代码。今天大姚分享一个在线且实用的.NET源码查询网站。在线查询地址https://source.dot.net更多.NET在线学习站https://github.com/YSGStudyHards/DotNetGui......
  • Asp.net Core依赖注入(Autofac替换IOC容器)
    ASP.NETCoreASP.NETCore(previouslyASP.NET5)改变了以前依赖注入框架集成进ASP.NET的方法.以前,每个功能-MVC,WebAPI,等.-都有它自己的"依赖解析器(dependencyresolver)"机制并且只是'钩子'钩住的方式有些轻微的区别.ASP.NETCore通过Microsoft.Extensions.......
  • 文献总结:ON THE TRAINING AND GENERALIZATION OF DEEP OPERATOR NETWORKS(关于深度算
    ONTHETRAININGANDGENERALIZATIONOFDEEPOPERATORNETWORKS(关于深度算子网络的训练和泛化)remark:相较于之前的文章,这篇更新了两个重要定理的证明!算子网络DeepONet由两个网络构成,即trunk网络和branch网络,通常是同时训练这两个网络,这相当于是在高维空间中解决复杂的优......
  • NetMvc通过亚马逊方式服务器端和客户端上传MinIO顺利解决
    前言:1、由于项目是.NETFramework4.7MVCLayUI,所以需要找一个资源站点存放项目中静态资源文件;2、需要支持服务端和客户端都支持上传文件方式;3、调用简单,涉及库越少越好。结果:调用AWSSDK.S3和AWSSDK.Core实现文件上传到MinIO;调用MimeMapping获取文件ContentType......
  • 实用的各种Adobe Animate软件教程
    我们到目前已经在B站发布了一些Animate软件的教程,从零基础入门Animate软件,到各种专用功能的软件,如电子相册、简单互动课件等。这里简单的对这些教程进行介绍:1.零基础入门实用教程AdobeAnimate零基础入门实用教程​各种类型动画的基本制作方法,结合实例进行讲解,通过课程,可以......
  • Kubernetes 1.18 部署 Traefik2.0
    Kubernetes1.18部署Traefik2.0参考资料:Traefik2.0官方文档:https://doc.traefik.io/traefik/v2.0/Kubernetes1.18.3部署Traefik2.0:https://www.cnblogs.com/heian99/p/14608414.html1.Traefik介绍traefik是一款反向代理、负载均衡服务,使用golang实现的。和n......
  • kubernetes部署dashboard
    kubernetes部署dashboard1.简介Dashboard是基于网页的Kubernetes用户界面。你可以使用Dashboard将容器应用部署到Kubernetes集群中,也可以对容器应用排错,还能管理集群资源。你可以使用Dashboard获取运行在集群中的应用的概览信息,也可以创建或者修改Kubernetes......