首页 > 代码库 > 自己封装的SqlHelper
自己封装的SqlHelper
using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Text;namespace 自己封装的SqlHelper{ public static class SqlHelper { //App.config 配置文件的内容 //<?xml version="1.0" encoding="utf-8" ?> //<configuration> // <connectionStrings> // <add name="sqlConnStr" connectionString="Data Source=.;initial Catalog=;integrated security =true;"/> // </connectionStrings> //</configuration> /// 通过配置文件来获取数据库链接字符串 private static readonly string conStr = ConfigurationManager.ConnectionStrings["sqlConnStr"].ConnectionString; //private static readonly string constr = "Data Source=.;initial Catalog=;integrated security =true;"; /// <summary> /// insert(插入)、delete(删除)、update(更新) /// </summary> /// <param name="sql">Sql命令语句</param> /// <param name="pms">执行命令所用参数的集合</param> /// <returns></returns> public static int ExecuteNonQuery(string sql, params SqlParameter[] pms) { using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { //可变参数pms如果用户不传递的时候,是一个长度为0的数组。不是null。 if (pms != null) { cmd.Parameters.AddRange(pms); } con.Open(); return cmd.ExecuteNonQuery(); } } } /// <summary> /// 返回单个值,第一行第一列,返回单个值的 /// </summary> /// <param name="sql">Sql命令语句</param> /// <param name="pms">执行命令所用参数的集合</param> /// <returns></returns> public static object ExecuteScalar(string sql, params SqlParameter[] pms) { using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { //可变参数pms如果用户不传递的时候,是一个长度为0的数组。不是null。 if (pms != null) { cmd.Parameters.AddRange(pms); } con.Open(); return cmd.ExecuteScalar(); } } } /// <summary> /// select 查询多行多列,调用ExecuteReader()来实现。注意:在返回的时候,reader要调用Close()来关闭对象。 /// </summary> /// <param name="sql">Sql命令语句</param> /// <param name="pms">执行命令所用参数的集合</param> /// <returns></returns> public static SqlDataReader ExecuteReader(string sql, params SqlDataReader[] pms) { SqlConnection con = new SqlConnection(conStr); { using (SqlCommand cmd = new SqlCommand(sql, con)) { if (pms != null) { cmd.Parameters.AddRange(pms); } try { con.Open(); //参数System.Data.CommandBehavior.CloseConnection表示当外部调用该DataReader对象的Close()方法时,在该Close()方法内部,会自动调用与该DataReader相关联的Connection的Close()方法 return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); } catch { ////这里的关闭不要写在finally中,因为需要return 一个SqlDataReader con.Close();////出错误时,将数据库链接及时关闭,放入“池”中 con.Dispose(); throw;////继续往上面抛出错误信息 } } } } /// <summary> /// 返回结果集DataTable /// </summary> /// <param name="sql">Sql命令语句</param> /// <param name="pms">执行命令所用参数的集合</param> /// <returns></returns> public static DataTable ExecuteTable(string sql, params SqlParameter[] pms) { DataTable dt = new DataTable(); using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conStr)) { adapter.Fill(dt); } return dt; } }}
自己封装的SqlHelper
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。