博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库访问类(直接执行数据库操作)
阅读量:6242 次
发布时间:2019-06-22

本文共 2708 字,大约阅读时间需要 9 分钟。

hot3.png

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;/// /// DB 数据的服务类/// 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;    }}

转载于:https://my.oschina.net/zhangqs008/blog/200243

你可能感兴趣的文章
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
Cassandra监控 - OpsCenter手册
查看>>
《黑客与画家》读摘
查看>>
android 客户端 Cookie处理
查看>>
localtime与localtime_r
查看>>
Script to Collect Data Guard Diagnostic Information
查看>>
cell manager opening cell等待事件
查看>>
Autodesk 首届中国开发者夏令营将在6月19-20在北京举行
查看>>
Visual Studio 2012 Update 2 (KB2707250)
查看>>
MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)
查看>>
Android 封装http请求的工具类
查看>>
黑书上的DP例题
查看>>
每天一个新标签/方法/属性/兼容性/问题
查看>>
《Linux内核设计与实现》读书笔记(九)- 内核同步介绍
查看>>
Delphi-IOCP 共同学习研究群号 320641073
查看>>
sql2008中已存在已有数据表修改主键为自增不让更改的解决方案
查看>>
控件路径自定义控件遇到的两个小问题
查看>>
【BZOJ】2648: SJY摆棋子 & 2716: [Violet 3]天使玩偶(kdtree)
查看>>