ADO.NET的一个帮助类库

 ADO NET的一个帮助类库 只须一个连接 一条SQL语句 轻松实现数据库的查旬 再加一个object 轻松实现数据库的增删改

 该类库根据是否需要事务可分为两个部分 分别由三个构造方法决定

 命名空间DBAssistant 类DBAssist

 方法ExecNoQueryWithTran() 实现带事务的增删改 返回(int)影响的行数

 方法 ExecNoQuery()实现不带事务的增删改 返回(int) 影响的行数

 方法ExecScalar() 实现返回首行首列的查询 返回(object)

 方法ExecSelect() 返回SqlDataReader

 方法GetDataSet() 返回DataSet

 using System;using System Collections Generic;using System Text;using System Data;using System Data SqlClient;using WriteException;namespace DBAssistant{public class DBAssist{/// <summary>/// 重载的构造方法/// </summary>public DBAssist() { }public DBAssist(string strSql SqlConnection conn){this StrSql = strSql;this Conn = conn;}public DBAssist(string strSql object obj SqlConnection conn){this StrSql = strSql;this Obj = obj;this Conn = conn;}public DBAssist(string strSql object obj SqlConnection conn SqlTransaction sqlTran){this StrSql = strSql;this Obj = obj;this Conn = conn;this sqlTran = sqlTran;}/// <summary>/// sql语句/// </summary>string strSql;public string StrSql{get { return strSql; }set { strSql = value; }}/// <summary>/// 要操作的对象 需要对数据库操作的数据存于其中/// </summary>object obj;public object Obj{get { return obj; }set { obj = value; }}/// <summary>/// 连接/// </summary>SqlConnection conn;public SqlConnection Conn{get { return conn; }set { conn = value; }}/// <summary>/// 事务/// </summary>SqlTransaction sqlTran;public SqlTransaction SqlTran{get { return sqlTran; }set { sqlTran = value; }}public object count;/// <summary>/// 带事务增删改方法/// </summary>/// <returns>int</returns>public int ExecNoQueryWithTran(){int num = ;try{using (SqlCommand cmd = new SqlCommand(strSql conn)){cmd Transaction = sqlTran;num = cmd ExecuteNonQuery();//SqlTran Commit();}}catch (Exception ex){WriException Write(ex);//SqlTran Rollback();}return num;}/// <summary>/// 不带事务的增删改方法/// </summary>/// <returns>int</returns>public int ExecNoQuery(){int num = ;try{using (SqlCommand cmd = new SqlCommand(strSql conn)){num = cmd ExecuteNonQuery();}}catch (Exception ex){WriException Write(ex);}return num;}/// <summary>/// 返回 SqlDataReader 的查询方法/// </summary>/// <returns>SqlDataReader</returns>public SqlDataReader ExecSelect(){SqlDataReader dr = null;try{SqlCommand cmd = new SqlCommand(strSql conn);dr = cmd ExecuteReader(CommandBehavior CloseConnection);return dr;}catch (Exception ex){WriException Write(ex);}return null;}/// <summary>/// 调用ExecuteScalar()方法 返回 object 的查询方法/// </summary>/// <returns>Object</returns>public object ExecScalar(){count=null;try{using (SqlCommand cmd = new SqlCommand(strSql conn)){count = cmd ExecuteScalar();}}catch (Exception ex){WriException Write(ex);}return count;}DataSet ds;/// <summary>/// 返回DataSet的查询方法/// </summary>/// <returns>DataSet</returns>public DataSet GetDataSet(){ds = null;using (SqlDataAdapter sda = new SqlDataAdapter(strSql conn)){using (ds = new DataSet()){sda Fill(ds);}}return ds;}

 }}

lishixinzhi/Article/program/net/201311/12853

ADO.NET的简介

ADO NET的设计目标 ADO NET是Microsoft公司发布的新一代数据存取技术 是一个全新的数据库访问模型 使应用程序的开发人员能方便的访问不同的数据源ADO NET提供对SQL Server等数据源以及通过OLEDB和XML公开的数据源的一致访问 数据共享应用程序可以使用ADO NET来连接到这些数据源 并检索 操作和更新数据 设计目标  n? 支持断开式多层编程模式n? 能够与XML紧密集成n? 具有能够组合来自多个 不同数据源的数据通用数据表示形式n? 具有为与数据库交互而优化的功能 ADO NET体系结构 ? ADO NET的两个核心组件 ( )DataSet ( )数据提供程序(DataProvider:包括Connection Command DataReader DataAdapter) ?DataSetu? DataSet 是ADO NET的断开式结构的核心组件u? 设计目的 为了实现独立于任何数据源的数据访问u? 可以用于多种不同的数据源 用于XML数据 或用于应用程序本地数据u? DataSet包含一个或多个DataTable对象集合 数据提供程序(DataProvider)设计目标 为了实现数据操作和对数据快速 只进 只读访问 NET框架提供了 个数据提供程序 SQL Server数据提供程序 OLE DB数据提供程序 ODBC数据提供程序 Oracle数据提供程序DataProvider的四个对象a) Connection对象 提供与数据源的连接b)? Command对象 使用户能够访问用于返回数据 修改数据 运行存储过程以及发送或检索参数信息的数据库命令 c) DataReader对象 从数据源中提供高性能的数据流 读取数据d)? DataAdapter对象 提供连接DataSet对象和数据源的桥梁DataAdapter使用Command对象在数据源中执行SQL命令 以便将数据加载到DataSet中 并使对DataSet中数据的更改与数据源保持一致数据库连接要访问数据库 首先必须建立与数据库的连接使用Connection对象创建和管理连接 ? 连接字符串在建立连接时 通常要提供一些数据源的信息 如数据库的名称 数据库所在物理位置 用户账号 密码等等(和一般连接数据库吗没什么区别)通过Connection对象的ConnectionString属性来设置打开和关闭连接连接的两个主要方法是Open和CloseOpen方法使用ConnectionString属性中的信息联系数据源并建立一个打开的连接Close方法关闭连接 是非常必要的 因为大多数据源只支持有限书目的打开的连接 并且打开的连接占用宝贵的系统资源如果正在使用DataProvider或Command 则不必显示打开和关闭连接 因为当调用这些对象的某个方法(例如DataAdapter的Fill或Update方法)时 该方法将检查连接是否已经打开 如果没有 适配器将打开连接 执行其逻辑 然后再关闭连接 Command对象在用Connection对象成功连接数据库后 可以用mand对象对数据进行操作 如对数据进行增 删 查 改等操作Command对象表示要对数据源执行的一个SQL语句或存储过程DataAdapter对象DataAdapter(数据适配器)用来建立和初始化数据表 并将其填入DataSet对象 在内存中存储数据 DataAdapter的主要方法是Fill 用来将来自DataAdapter中的数据填入DataSet中DataSetDataSet对象是一个存储在内存中的离线数据库 它并未与数据库建立及时的连接DataSet对象专门用来存储从数据源中读出的数据 无论是SQL Server数据库还是Access数据库 在DataSet中存储方式都是一致的 用户无法从DataSet中判断读取的数据库类型DataReader对象如果不需要DataSet所提供的功能 则可以使用DataReader以只读方式返回数据因为节省了DataSet所使用的内存 并省去了创建DataSet并填充其内容所需要的必要处理 所以可以提高应用程序的性能 C#代码示例 [csharp]using System;using System Collections Generic;using System Linq;using System Text;using System Data SqlClient;using System Data;using System Text RegularExpressions;using System Windows Forms;namespace 图书管理 {class BaseOperate{//建立数据库连接public SqlConnection getcon(){string str_sqlcon = data source= ;database=library_sys;uid=sa;pwd= ;try{SqlConnection myCon = new SqlConnection(str_sqlcon) return myCon;}catch (Exception ex){MessageBox Show( 出错了 链接出错 MessageBoxButtons OK) throw ex;}}//执行sqlmand命令 但无返回值public void get(string sqlstring){SqlConnection sqlcon = this getcon() sqlcon Open() SqlCommand sql = new SqlCommand(sqlstring sqlcon) sql ExecuteNonQuery() sql Dispose() sqlcon Close() sqlcon Dispose() }//执行sql语句并返回一个dataset数据集对象public DataSet getds(string sqlstring){SqlConnection sqlcon = this getcon() SqlDataAdapter sqlda = new SqlDataAdapter(sqlstring sqlcon) DataSet myds = new DataSet() sqlda Fill(myds) return myds;}//执行sql语句并返回一个sqlReader类型的对象 用于读取查询的数据public SqlDataReader getread(string sqlstring){SqlConnection sqlcon = this getcon() SqlCommand sql = new SqlCommand(sqlstring sqlcon) sqlcon Open() SqlDataReader sqlread = sql ExecuteReader(CommandBehavior CloseConnection) return sqlread;} lishixinzhi/Article/program/net/201311/12962

ado.net可让开发人员以一致的方式存取资料来源(例如 SQL Server 与 XML),以及透过 OLE DB 和 ODBC 所公开的资料来源。资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取、处理及更新其中所含的资料。

ado.net可将资料管理的资料存取分成不连续的元件,这些元件可分开使用,也可串联使用ado.net也包含 .NET Framework 资料提供者,以用于连接资料库、执行命令和撷取结果。这些结果会直接处理、放入ado.net DataSet 物件中以便利用机器操作 (Ad Hoc)的方式公开给使用者、与多个来源的资料结合,或在各层之间进行传递。DataSet 物件也可以与.NET Framework 资料提供者分开使用,以便管理应用程序本机的资料或来自 XML 的资料。

ado.net类别 (Class) 位于 System.Data.dll 中,而且会与 System.Xml.dll 中的XML 类别整合。

ado.net可为撰写 Managed 程式码的开发人员提供类似于ActiveX Data Objects (ADO)提供给原生元件物件模型 (Component Object Model,COM)开发人员的功能。建议使用ado.net而非ADO来存取.NET 应用程序中的资料。

ADO .NET会提供最直接的方法,让开发人员在 .NET Framework 中进行资料存取。

隐私权声明:

System.Data.dll、System.Data.Design.dll、System.Data.OracleClient.dll、System.Data.SqlXml.dll、System.Data.Linq.dll、System.Data.SqlServerCe.dll 和 System.Data.DataSetExtensions.dll 组件无法区分使用者的私用资料与非私用资料。这些组件不会收集、储存或传输任何使用者的私用资料。不过,协力厂商应用程序可能会使用这些组件来收集、存储或传输使用者的私用资料。

本文来自作者[连柯一]投稿,不代表泰博号立场,如若转载,请注明出处:https://www.staplesadv.cn/ds/7954.html

(17)
连柯一的头像连柯一签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 连柯一的头像
    连柯一 2025年08月13日

    我是泰博号的签约作者“连柯一”

  • 连柯一
    连柯一 2025年08月13日

    本文概览: ADO NET的一个帮助类库 只须一个连接 一条SQL语句 轻松实现数据库的查旬 再加一个object 轻松实现数据库的增删改  该类库根据是否需要事务可分为两个部分 分别...

  • 连柯一
    用户081309 2025年08月13日

    文章不错《ADO.NET的一个帮助类库》内容很有帮助

联系我们

邮件:泰博号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信