当前位置: 首页 > java >正文

C#SQLServer数据库通用访问类

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace thinger.cn.ADO.NETTeach
{
///
/// 数据库的通用类
///
public class SQLHelperBase
{
//定义连接字符串
private static string connString = “Server=.;DataBase=MISDB;Uid=sa;Pwd=123456”;

    /// <summary>/// 执行增删改操作/// </summary>/// <param name="cmdText">SQL语句</param>/// <returns></returns>public static int ExecuteNonQuery(string cmdText){//【1】创建连接对象SqlConnection conn = new SqlConnection(connString);          //【2】创建Command对象SqlCommand cmd = new SqlCommand(cmdText, conn);try{//【3】打开连接conn.Open();//【4】执行操作return cmd.ExecuteNonQuery();}catch (Exception ex){//根据需要把异常信息写到日志中...throw new Exception($"执行方法ExecuteNonQuery()发生异常:{ex.Message}");}finally{//【5】关闭连接conn.Close();}           }/// <summary>/// 执行返回单行单列的结果查询/// </summary>/// <param name="cmdText"></param>/// <returns></returns>public static object ExecuteScalar(string cmdText){          SqlConnection conn = new SqlConnection(connString);         SqlCommand cmd = new SqlCommand(cmdText, conn);try{              conn.Open();             return cmd.ExecuteScalar();}catch (Exception ex){//根据需要把异常信息写到日志中...throw new Exception($"ExecuteScalar()发生异常:{ex.Message}");}finally{             conn.Close();}}/// <summary>/// 执行返回一个多行多列结果集的查询/// </summary>/// <param name="cmdText"></param>/// <returns></returns>public static SqlDataReader ExecuteReader(string cmdText){SqlConnection conn = new SqlConnection(connString);SqlCommand cmd = new SqlCommand(cmdText, conn);try{conn.Open();return cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception ex){//根据需要把异常信息写到日志中...throw new Exception($"ExecuteReader()发生异常:{ex.Message}");}//finally  //这个地方是不能关闭的//{//    conn.Close();//}}
}

}

http://www.xdnf.cn/news/7734.html

相关文章:

  • 电子电路:什么是射极电阻?
  • 构建安全的Vue前后端分离架构:利用长Token与短Token实现单点登录(SSO)策略
  • 多线程环境下结构体赋值是否具有原子性?
  • Java 线程池 ThreadPoolExecutor
  • SAP-ABAP:SAP的BAPI_PO_CHANGE功能详解
  • 9 定时任务与周期性调度
  • 活到老学到老-Spring注解-如何创建get和set
  • C++面向对象——多态
  • 进程之IPC通信一
  • 内核常见面试问题汇总
  • PN结的形成及特性
  • 技术派项目——注册登录(用户名密码的方式)
  • 瀚高安全版4.5.8/4.5.9字符串默认按字节存储导致数据无法写入(APP)
  • 前端流行框架Vue3教程:20. 插槽slot(2)
  • leetcode 找到字符串中所有字母异位词 java
  • 牛顿迭代法求解除法
  • C语言中三个点代表什么含义...
  • LeetCode 438. 找到字符串中所有字母异位词 | 滑动窗口与字符计数数组解法
  • base算法
  • Web开发-Python应用Flask框架Jinja模版绑定路由参数传递页面解析SSTI注入
  • Baumer工业相机堡盟工业相机的工业视觉如何使用三色光进行字符识别检测
  • 第十六届C++B组easyQuestions
  • AI产品经理课程推荐
  • 2025ICPC南昌邀请赛-G
  • 【实验增效】5 μL/Test 高浓度液体试剂!Elabscience PE Anti-Mouse Ly6G抗体 简化流式细胞术流程
  • 【操作系统】进程同步问题——生产者-消费者问题
  • 【Git】远程操作
  • spring cloud gateway配置
  • 探索自定义地图样式,打造应用专属个性化地图
  • 《探索具身智能机器人视觉-运动映射模型的创新训练路径》