视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
四个常用的.NET的SQLHELPER方法实例
2020-11-27 22:38:50 责编:小采
文档

本文所述实例有别于网上常见的由代码生成器生成的sqlhelper,比如动软、CodeSmith等生成的。其实代码生成器生成的sqlhelper很多的方法在实际开发中都是用不到的,考虑初学者如果封装类的方法太多,会造成一定的困扰,也会给他们增加负担,所以本文列举出了再实际运用中总结的四个比较常用的方法,其实,最常用的应该是两个,就是查和增删改,其它两个也是用的比较少的。

需要说明的是,sqlhelper在winform的开发中用的比较多,在asp.net和mvc的项目中用的封装类跟winform有相似,但是也有一定的区别,因为大项目都是用那种比较好的框架,或者自己公司开发的框架,其中的封装类也有所不同,本文总结的这四个方法在winform中用比较常用。

主要代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace SQL
{
 public static class SqlHelper
 {
 /// <summary>
 /// 创建连接的字符串
 /// </summary>
 static readonly string connStr=ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

 #region 1.0 执行查询语句,返回一个表 + static DataTable ExcuteTable(string sql, params SqlParameter[] ps)
 /// <summary>
 /// 1.0 执行查询语句,返回一个表
 /// </summary>
 /// <param name="sql">sql语句</param>
 /// <param name="ps">参数数组</param>
 /// <returns>返回一张表</returns>
 public static DataTable ExcuteTable(string sql, params SqlParameter[] ps)
 {
 SqlDataAdapter da = new SqlDataAdapter(sql, connStr);
 da.SelectCommand.Parameters.AddRange(ps);
 DataTable dt = new DataTable();
 da.Fill(dt);
 return dt;
 } 
 #endregion

 #region 2.0 执行增删改的方法 + static int ExcuteNoQuery(string sql, params SqlParameter[] ps)
 /// <summary>
 /// 2.0 执行增删改的方法
 /// </summary>
 /// <param name="sql">sql语句</param>
 /// <param name="ps">参数数组</param>
 /// <returns>返回一条记录</returns>
 public static int ExcuteNoQuery(string sql, params SqlParameter[] ps)
 {
 using (SqlConnection conn = new SqlConnection(connStr))
 {
 conn.Open();
 SqlCommand command = new SqlCommand(sql, conn);
 command.Parameters.AddRange(ps);
 return command.ExecuteNonQuery();
 }
 } 
 #endregion

 #region 3.0 执行存储过程的方法 + static int ExcuteProc(string procName, params SqlParameter[] ps)
 /// <summary>
 /// 3.0 执行存储过程的方法
 /// </summary>
 /// <param name="procName">存储过程名</param>
 /// <param name="ps">参数数组</param>
 /// <returns></returns>
 public static int ExcuteProc(string procName, params SqlParameter[] ps)
 {
 using (SqlConnection conn = new SqlConnection(connStr))
 {
 conn.Open();
 SqlCommand command = new SqlCommand(procName, conn);
 command.CommandType = CommandType.StoredProcedure;
 command.Parameters.AddRange(ps);
 return command.ExecuteNonQuery();
 }
 } 
 #endregion

 #region 4.0 查询结果集,返回的是首行首列 + static int ExecScalar(string sql, params SqlParameter[] ps)
 /// <summary>
 /// 4.0 查询结果集,返回的是首行首列
 /// </summary>
 /// <param name="sql">sql语句</param>
 /// <param name="ps">参数数组</param>
 /// <returns></returns>
 public static object ExecScalar(string sql, params SqlParameter[] ps) //调用的时候才判断是什么类型
 {
 using (SqlConnection conn = new SqlConnection(connStr))
 {
 conn.Open();
 SqlCommand command = new SqlCommand(sql, conn);
 command.Parameters.AddRange(ps);
 return command.ExecuteScalar();
 }
 } 
 #endregion
 }
}

相信本文所述对大家的.net程序设计有一定的借鉴价值。

下载本文
显示全文
专题