标签:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Configuration; using System.Data.SqlClient; using System.Data; namespace _03第四季01SQLHelper { class SqlHelper { //连接字符串 private static string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; #region 版本一 //执行增删改 public static int ExecuteNonQurey(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; return cmd.ExecuteNonQuery(); } } } //返回一行一列的查询结果 public static object ExecuteScalar(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; return cmd.ExecuteScalar(); } } } ////返回多个查询结果,为什么会出错? ////使用using(){}在{}之后系统会自动帮我们释放资源,所以在函数返回前连接已经关闭 //public static SqlDataReader ExecuteReader(string sql) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // return cmd.ExecuteReader(); // } // } //} public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] spms) //public static SqlDataReader ExecuteReader(string sql, CommandType cType, params SqlParameter[] spms) { SqlConnection conn = new SqlConnection(connStr); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; //cmd.CommandType = cType;//不设置的话,使用默认 if (spms != null) cmd.Parameters.AddRange(spms); try { conn.Open(); return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); } catch { conn.Close(); conn.Dispose(); throw; } } } //返回数据集 public static DataSet ExecuteDataSet(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet dataset = new DataSet(); adapter.Fill(dataset); return dataset; } } } //一般查询语句结果只有一个表,所以可以返回DataTable类型 public static DataTable ExecuteDataTable(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet dataset = new DataSet(); adapter.Fill(dataset); return dataset.Tables[0]; } } } #endregion //#region 版本二 //public static int ExecuteNonQurey(string sql,SqlParameter[] parameters ) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // //foreach(SqlParameter param in parameters) // //{ // // cmd.Parameters.Add(param); // //} // cmd.Parameters.AddRange(parameters);//等于foreach的写法 // return cmd.ExecuteNonQuery(); // } // } //} ////返回一行一列的查询结果 //public static object ExecuteScalar(string sql,SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // cmd.Parameters.AddRange(parameters); // return cmd.ExecuteScalar(); // } // } //} ////返回数据集 //public static DataSet ExecuteDataSet(string sql,SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // cmd.Parameters.AddRange(parameters); // SqlDataAdapter adapter = new SqlDataAdapter(cmd); // DataSet dataset = new DataSet(); // adapter.Fill(dataset); // return dataset; // } // } //} ////一般查询语句结果只有一个表,所以可以返回DataTable类型 //public static DataTable ExecuteDataTable(string sql,SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // cmd.Parameters.AddRange(parameters); // SqlDataAdapter adapter = new SqlDataAdapter(cmd); // DataSet dataset = new DataSet(); // adapter.Fill(dataset); // return dataset.Tables[0]; // } // } //} //#endregion #region 版本三 可变参数 //public static int ExecuteNonQurey(string sql,params SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // //foreach(SqlParameter param in parameters) // //{ // // cmd.Parameters.Add(param); // //} // cmd.Parameters.AddRange(parameters);//等于foreach的写法 // return cmd.ExecuteNonQuery(); // } // } //} ////返回一行一列的查询结果 //public static object ExecuteScalar(string sql,params SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // cmd.Parameters.AddRange(parameters); // return cmd.ExecuteScalar(); // } // } //} ////返回数据集 //public static DataSet ExecuteDataSet(string sql,params SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // cmd.Parameters.AddRange(parameters); // SqlDataAdapter adapter = new SqlDataAdapter(cmd); // DataSet dataset = new DataSet(); // adapter.Fill(dataset); // return dataset; // } // } //} ////一般查询语句结果只有一个表,所以可以返回DataTable类型 //public static DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters) //{ // using (SqlConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // using (SqlCommand cmd = conn.CreateCommand()) // { // cmd.CommandText = sql; // cmd.Parameters.AddRange(parameters); // SqlDataAdapter adapter = new SqlDataAdapter(cmd); // DataSet dataset = new DataSet(); // adapter.Fill(dataset); // return dataset.Tables[0]; // } // } //} #endregion } }
标签:
原文地址:http://www.cnblogs.com/I-am-on-the-way/p/4261465.html