串連資料庫封裝成類,減少代碼冗餘度,增強代碼可讀性。
1、類的構造
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data.SqlClient;using System.Data;namespace Test{ public class DbSql { public SqlConnection conn = null; public SqlDataAdapter da = null; public SqlCommand com = null; public DbSql() { //string connstr = "server=.;Database=library;uid=sa;pwd=123"; //conn = new SqlConnection(connstr); //com = new SqlCommand(); //com.Connection = conn; string connstr = "server=.;Database=library;uid=sa;pwd=123"; conn = new SqlConnection(connstr); com = new SqlCommand(); com.Connection = conn; da = new SqlDataAdapter("", conn); } /// <summary> /// 根據查詢語句,將查詢結果以DataTable類型返回,如果執行的是各種更新語句,則傳回值無意義。 /// </summary> /// <param name="selectSql"></param> /// <returns>查詢結果</returns> public DataTable FillDt(string selectSql) { //com.CommandType = CommandType.Text; //com.CommandText = "select * from student"; //da = new SqlDataAdapter(com); //DataTable dt = new DataTable(); //da.Fill(dt); //return dt; DataTable dt = new DataTable(); da.SelectCommand.CommandText = selectSql; da.Fill(dt); return dt; } /// <summary> /// 執行各種SQL語句 /// </summary> /// <param name="Sql">true表示執行成功,false表示執行失敗</param> /// <returns></returns> public bool ExecSql(string Sql) { bool r = false; conn.Open(); com.Connection = conn; com.CommandType = CommandType.Text; com.CommandText = Sql; com.ExecuteNonQuery(); conn.Close(); r = true; return r; } }}2、類是使用
DbSql db = new DbSql(); //類的執行個體化DataTable dt = new DataTable();string strSql = "insert into student(sno,sname,ssex,sage) values('3','王鵬','男',20)";db.ExecSql(strSql); //調用類的ExecSql()方法,實現定義的strSql語句dt = db.FillDt("select * from student"); //調用類的FillDt()方法,實現對資料庫的查詢this.GridView1.DataSource = dt;this.GridView1.DataBind();