using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data.SqlClient; using System.Data; namespace ADONET2 { class SqlHelper { private static string connStr = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString; //封裝方法的原則:把不變的放到方法裏,把變化的放到參數中 ////public static int ExecuteNonQuery(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(); //// } //// } ////} //////只用來執行查詢結果比較少的sql ////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]; //// } //// } ////} //第二版 //public static int ExecuteNonQuery(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); // 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(); // } // } //} ////只用來執行查詢結果比較少的sql //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]; // } // } //} //第三版:使用長度可變參數來簡化 public static int ExecuteNonQuery(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); 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(); } } } //只用來執行查詢結果比較少的sql 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]; } } } } }
C# SqlHelper 源碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.