首页 > 代码库 > 【ADO.NET】6、SQLHelper简单封装
【ADO.NET】6、SQLHelper简单封装
using System.Data.SqlClient;
using System.Configuration;
引用:System.Configuration
连接字符串放到配置文件中
新建一个类,写如下些方法,进行数据的操作
// ExecuteNonQuery 构建public static int ExecuteNonQuery(string sql,params SqlParameter[] parameters){ string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(Str)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; foreach (SqlParameter par in parameters) { cmd.Parameters.Add(par); } return cmd.ExecuteNonQuery(); } } }// ExecuteNonQuery 方法的使用private void button1_Click(object sender, EventArgs e) //单击事件{ try { SQLHelper.ExecuteNonQuery("insert into T_Age(Name,Age) values(@N,@A)", new SqlParameter("@N", txtLogin.Text.Trim()), new SqlParameter("@A", txtAge.Text.Trim())); MessageBox.Show("插入成功!"); } catch (Exception ex) { MessageBox.Show(string.Format("插入失败!:{0}", ex)); return; }}//-----------------------------------------------------------------------------// ExecuteScalar 构建public static object ExeccuteScalar(string sql, params SqlParameter[] parameters){ string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(Str)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; foreach (SqlParameter par in parameters) { cmd.Parameters.Add(par); } return cmd.ExecuteScalar(); }}// ExecuteScalar 方法的使用private void button2_Click(object sender, EventArgs e) //单击事件{ int i = Convert.ToInt32(SQLHelper.ExeccuteScalar("select count(*) T_phone")); MessageBox.Show(Convert.ToString(i));}//-----------------------------------------------------------------------------// ExecuteReader 构造 // 不能使用 usingpublic static SqlDataReader SqlDataReader(string sql, params SqlParameter[] parameters){ string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; SqlConnection conn = new SqlConnection(Str); conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; foreach (SqlParameter par in parameters) { cmd.Parameters.Add(par); } SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return dr;}// ExecuteReader 方法的使用private void button4_Click(object sender, EventArgs e) //单击事件{ SqlDataReader dr = SQLHelper.SqlDataReader_using("select * from T_Age"); while (dr.Read()) { MessageBox.Show(Convert.ToString(dr["Name"])); //读取Name字段的值 } }//-----------------------------------------------------------------------------// ExecuteDataSet 的构建public static DataTable ExecuteDataSet(string sql, params SqlParameter[] SqlParmeter){ string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(Str)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; foreach (SqlParameter par in SqlParmeter) //遍历增加 SqlParmeter 参数 { cmd.Parameters.Add(par); } DataSet dataset = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(dataset); return dataset.Tables[0]; }}// ExecuteDataSet 方法的使用private void button5_Click(object sender, EventArgs e){ DataTable dt = SQLHelper.ExecuteDataSet("select * from T_Age"); for (int i = 0; i < dt.Rows.Count; i++) { DataRow row = dt.Rows[i]; string name =Convert.ToString(row["Name"]); MessageBox.Show(name); }}//-----------------------------------------------------------------------------注意:SqlDataReader如果用 using 的话,将执行不了,因为在读取数据的时候是在using以外,无法读取 如下是错误的代码 public static SqlDataReader ExecuteReader_using(string sql, params SqlParameter[] parameters){ string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (SqlConnection conn = new SqlConnection(Str)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; foreach (SqlParameter par in parameters) { cmd.Parameters.Add(par); } return cmd.ExecuteReader(); }} //-----------------------------------------------------------------------------
【ADO.NET】6、SQLHelper简单封装
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。