C#--带参SQL语句数通用数据访问类

Update()

GetSingleResult()

GetReader()


  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Data;
  6 using System.Data.SqlClient;
  7 using System.Configuration;
  8
  9
 10 namespace DAL.Helper
 11 {
 12     public class SQLHelper
 13     {
 14         private static string connString =
 15             ConfigurationManager.ConnectionStrings["sqlConnString"].ToString();
 16
 17         #region 执行带参数SQL语句
 18         /// <summary>
 19         /// 执行增、删、改 Sql(Update、insert、delete)方法
 20         /// </summary>
 21         /// <param name="sql">提交的SQL语句,可以根据需要添加参数</param>
 22         /// <param name="param">参数数组(如果没有参数,请传递null)</param>
 23         /// <returns>返回受影响行数</returns>
 24         public static int Update(string sql,SqlParameter[] param)
 25         {
 26             SqlConnection conn = new SqlConnection(connString);
 27             SqlCommand cmd = new SqlCommand(sql, conn);
 28             if(param != null)
 29             {
 30                 cmd.Parameters.AddRange(param);//添加参数组
 31             }
 32             try
 33             {
 34                 conn.Open();
 35                 return cmd.ExecuteNonQuery();
 36             }
 37             catch (Exception ex)
 38             {
 39                 string info = "执行public static int Update";
 40                 info += "(string sql,SqlParameter[] param)"+ex.Message;
 41                 throw new Exception(info);
 42             }
 43             finally
 44             {
 45                 conn.Close();
 46             }
 47         }
 48         /// <summary>
 49         /// 执行单一结果集查询
 50         /// </summary>
 51         /// <param name="sql">提交SQL语句,可根据需要添加参数</param>
 52         /// <param name="param">参数数组,(如果没有参数、传递null)</param>
 53         /// <returns>返回object对象</returns>
 54         public static object GetSingleResult(string sql, SqlParameter[] param)
 55         {
 56             SqlConnection conn = new SqlConnection(connString);
 57             SqlCommand cmd = new SqlCommand(sql, conn);
 58             if(param != null)
 59             {
 60                 cmd.Parameters.AddRange(param);//添加参数组;
 61             }
 62             try
 63             {
 64                 conn.Open();
 65                 return cmd.ExecuteScalar();
 66             }
 67             catch (Exception ex)
 68             {
 69                 string info = "执行public static object GetSingleResult";
 70                 info += "(string sql, SqlParameter[] param)" + ex.Message;
 71                 throw new Exception(info);
 72             }
 73             finally
 74             {
 75                 conn.Close();
 76             }
 77         }
 78         /// <summary>
 79         /// 返回全部结果集查询
 80         /// </summary>
 81         /// <param name="sql"></param>
 82         /// <param name="param"></param>
 83         /// <returns></returns>
 84         public static SqlDataReader GetReader(string sql,SqlParameter[] param)
 85         {
 86             SqlConnection conn = new SqlConnection(connString);
 87             SqlCommand cmd = new SqlCommand(sql, conn);
 88             if(param != null)
 89             {
 90                 cmd.Parameters.AddRange(param);//添加参数组;
 91             }
 92             try
 93             {
 94                 conn.Open();
 95                 return cmd.ExecuteReader(CommandBehavior.CloseConnection);
 96             }
 97             catch (Exception ex)
 98             {
 99                 string info = "public static SqlDataReader GetReader";
100                     info +="(string sql,SqlParameter[] param)"+ex.Message;
101                 conn.Close();
102                 throw new Exception(info);
103
104             }
105         }
106         #endregion
107
108
109
110
111
112
113
114     }
115 }

原创地址:https://blog.csdn.net/qq_36482772/article/details/77987207

原文地址:https://www.cnblogs.com/RCJL/p/11994556.html

时间: 2024-11-05 20:43:36

C#--带参SQL语句数通用数据访问类的相关文章

SQL语句汇总(二)——数据修改、数据查询

首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)  如: INSERT INTO t_student (student_id,student_name,student_age,student_sex) VALUES (1,'大毛',18,'男'); 其中列名可以省略,省略之后要求插入的值必须与列一一对应: INSERT INTO t_student VALUE

ORACLE基本SQL语句-添加更新数据函数篇

一.添加数据 /*添加数据*/insert into STU values('stu0004','赵一',18,1,"kc0004");insert into STU(STU_ID,STU_NAME,STU_AGE,STU_SET ) values('stu0013','储十一',19,1); 说明:如果不指定将数据添加到那个字段,那么此时必须列出全部数据,如果列出字段,则一一对应,必须列出约束不为空的所有字段,否则报错. 二.更新数据 /*更新数据*/update STU SET S

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

使用Sql语句快速将数据表转换成实体类

开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare @TableName sysname = 'TableName' declare @Result varchar(max) = 'public class ' + @TableName + ' {' select @Result = @Result + ' public ' + ColumnType

如何用SQL语句查询Excel数据?

如何用SQL语句查询Excel数据?Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据. 2007和2010版本: SELECT*FROMOpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$] 复制代码

Java通用数据访问层Fastser-DAL推荐

本着不重复造轮子的原则,基于mybatis.spring jdbc.hibernate等ORM的通用数据访问层,支持基于datasource的读写分离.主备自动切换和故障转移,支持简单的负载均衡. 源码地址:http://git.oschina.net/fastser/fastser-dal-all 特性: 基于mybatis.spring jdbc.hibernate等各大orm框架实现通用dal层功能,并可以与已有项目完全兼容.同时也可以在已经实现的orm框架之间任意切换,不需要对代码作任何

ssh通用数据访问层接口及实现

package org.dao; import java.io.Serializable;import java.util.LinkedHashMap;import java.util.List;import java.util.Map; /** * 通用数据访问层 */ public interface BaseDao<T> { /** * 保存单个实体 * @param entity */ public void save(T entity); /** * 级联保存单个实体对象 * @pa

《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件

<万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要    用SQL语句来直接访问文本文件?是在做梦吗? 本文详细地介绍了"万能数据库查询分析器",中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>在 文本文件处理方面非常强大的功能,你可以直接用SQL语句来访问这些文本文件,访问250万条记录的文件的复杂的关联操作,也不过用时59秒钟.需要注意

C#连接层的数据访问类(简单版)

目前只写了与SqlServer的数据处理. 首先是静态工厂类. using System; using System.Configuration; namespace XPSoft.BaseLibrary.DataAccess { /// <summary> /// 数据访问对象的静态工厂类,用于创建不同类型的数据访问对象. /// </summary> public static class DataAccessFactory { /// <summary> ///