标签:style blog color io os ar 文件 数据 sp
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; } } }
标签:style blog color io os ar 文件 数据 sp
原文地址:http://www.cnblogs.com/Andrew2014/p/3998353.html