- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- //引入数据库的命名空间
- using System.Data.SqlClient;
- /// <summary>
- /// DB 数据的服务类
- /// </summary>
- public class DB
- {
- SqlConnection con = null;//定义一个类属性,类型为SQL连接
- SqlCommand cmd = new SqlCommand();//针对 数据库操作的命令对象
- //利用构造函数初始化 SQL连接
- public DB()
- {
- con = new SqlConnection("server=.;database=Northwind;uid=sa;pwd=123;");
- }
- public SqlConnection getCon()
- {
- if(con.State == ConnectionState.Closed)
- con.Open();//打开连接
- return con;
- }
- //关闭连接
- public void clear()
- {
- if (con.State == ConnectionState.Open)
- con.Close();
- }
- //根据传入的SQL语句,执行
- public int executeNonQuery(string strSql)
- {
- cmd.Connection = getCon();
- cmd.CommandText = strSql;
- int i = cmd.ExecuteNonQuery();
- clear();
- return i;
- }
- //根据传入的SQL语句 执行 并返回结果
- public string executeGetReturn(string strSql)//strSql 是传入SQL命令语句
- {
- //得到数据的连接 并且这个连接是打开
- // getCon();
- //建立一个 命令对象
- cmd.Connection = getCon(); //命令对象是需要基于 一个已经打开了的连接
- cmd.CommandText = strSql; //指定数据库命令对象的 执行语句
- string result = cmd.ExecuteScalar().ToString(); //执行命令语句,并将其以字符串的形式返回
- clear();
- return result;
- }
- //得到一个数据集
- public DataSet getDs(string strSql,string tableName)
- {
- SqlDataAdapter sda = new SqlDataAdapter(strSql, getCon());
- DataSet ds = new DataSet();
- sda.Fill(ds, tableName);
- clear();
- return ds;
- }
- //根据传入的SQL语句,执行并返回一个只向前的数据流DataReader
- public SqlDataReader getSdr(string strSql)
- {
- cmd.Connection = getCon();
- cmd.CommandText = strSql;
- SqlDataReader sdr = cmd.ExecuteReader();
- return sdr;
- }
- //定义批量执行多条SQL语句的方法
- public bool executeTransaction(string[] strSql)
- {
- bool flag = false;
- con = getCon();//得到连接
- cmd.Connection = con;//命令对象
- SqlTransaction myTransaction; //声明一个SQL事物类型
- myTransaction = con.BeginTransaction();//基于一个连接初始化事物
- try
- {
- foreach (string sql in strSql)//遍历
- {
- cmd.Transaction = myTransaction;//指定SQL命令语句 的事物
- cmd.CommandText = sql;//给定命令语句
- cmd.ExecuteNonQuery();//执行SQL语句
- }
- myTransaction.Commit();
- flag = true;
- }
- catch (Exception e)
- {
- myTransaction.Rollback();
- flag = false;
- }
- finally
- {
- clear();
- }
- return flag;
- }
- }
数据库访问类(直接执行数据库操作)
最新推荐文章于 2020-06-21 11:04:51 发布