分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

ADO.Net

发布时间:2023-09-06 01:21责任编辑:顾先生关键词:暂无标签

ADO.NET 是 .NET 框架(.NET Framework)中的一个数据库访问架构,,ADO是ActiveX Data Objects的缩写。用于实现 .NET 应用程序对于数据库的访问。

ADO.NET六大对象分别是:

1、Connection(连接数据库,事物处理也使用此对象)

2、Command(执行T-SQL语句--返回数据、修改数据、运行存储过程及发送或检索参数信息的数据库命令)

3、DataAdapter(主要功能填充DataSet,在修改Dataset对象中的数据后通知数据库更新数据到数据库)

4、DataReader(读取数据库,一种只读模式,只向前的)

5、DataSet(数据集-ADO.Net的核心概念,可以把它当作是存在于内存中的数据库)

6、DataTable(可以理解为内存中的数据表)

Connection类有四种:SqlConnectionOleDbConnectionOdbcConnectionOracleConnection

SqlConnection类的对象连接SQL Server数据库;OracleConnection 类的对象连接Oracle数据库(Oracle的版本小于11使用此种方式,当版本为11及以上时使用ODP.Net);OleDbConnection类的对象连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接任何支持ODBC(开放数据库互联)的数据库。

与数据库的所有通讯最终都是通过Connection对象来完成的。

SqlConnection 的连接字符串(ConnectionString)

加入命名空间:using System.Data.SqlClient;

连接数据库: string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";               

ExecuteNonQuery():执行SQL,返回一个整型变量,如果SQL是对数据库的记录进行操作,那么返回操作影响的记录条数,如果是 SQL="CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"那么在表创建成功后该方法返回 –1。

 ExecuteScalar():执行SQL,(如果SQL是查询Select)返回查询结果的第一行第一列,如果(如果SQL不是查询Select)那 么返回未实列化的对象,因为对象未实列化,所以返回结果不能ToString(),不能Equals(null),也就是说返回结果没有任何作用

 ExecuteReader方法执行SQL,(如果SQL是查询Select)返回查询结果的集合,类型是 System.Data.OleDb.OleDbDataReader,你可以通过此结果,获取查询的数据。如果(如果SQL不是查询Select)那么 返回一个没有任何数据的System.Data.OleDb.OleDbDataReader类型的集合(EOF)

OleDbConnection连接各种数据源 ,由于数据源不同,相应的连接字符串也会不同。

加入命名空间:using System.Data.OleDb;

连接 SQL Server:  string conString = "Provider=SQLOLEDB.1; Persist Security Info=False; user id=用户名; Database=数据库名; data source=COMPUTER; ";

       OleDbConnection myconnection = new OleDbConnection(conString);

                      myconnection.open();

连接 Access:  string conString = "Provider=Microsoft.Jet.OLEDB.4.0;  data source=C:\\Database1.mdb; Persist Security Info=False;";

           OleDbConnection myconnection = new OleDbConnection(conString);

                             myconnection.open();

(也可以通过建立.udl文件来获得字符串)

连接 Oracle:  

 string conString = "Provider=MSDAORA;  user id=用户名; password=密码; data source=db; Persist Security Info=False;";

string oradb = "Provider=OraOLEDB.Oracle;Data Source=water;User Id=modis;Password=modis;";

         OleDbConnection myconnection = new OleDbConnection(conString);

                          myconnection.open();

OleDb方式,微软和Oracle公司各自提供了OleDb的驱动程序,使用方法的差别很少。

引用类库:微软的只需要System.Data.dll;若用Oracle的驱动,虽然也只要引入System.Data.dll,但前提是首先安装Oracle针对.Net的数据访问组件。
连接字符串:provider--微软“provider=MSDAORA;”;Oracle-“provider=‘OraOleDb.Oracle‘;”。前者已经不怎么使用;后者需安装Oracle客户端;

未在本地计算机上注册“OraOLEDB.Oracle”提供程序解决方案的错误处理:

regsvr32  E:\app\Administrator\product\11.2.0\dbhome_1\oledb\lib\OraOLEDB11.dll

OracleConnection连接Oracle---微软已不再维护,建议使用Oracle的ODP.Net连接

加入命名空间:using System.Data.OracleClient;

连接数据库: string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";

           OracleConnection myconnection = new OracleConnection(conString);

            myconnection.open();

 注意:使用不同的Connection对象需要导入不同的命名空间。OleDbConnection的命名空间为System.Data.OleDb。SqlConnection的命名空间为System.Data.SqlClient。OracleConnection的命名空间为System.Data.OracleClinet。

DBHelpers是一个简单但功能强大的库,用于使用简单的ADO.NET数据库访问组件。

DBHelpers包含哪些特征

Async(异步)、Batch execution(批量执行脚本)、Custom converters(自定义类型转换)、

Multi table retrieval(多结果集查询)、Easy safe parameterized DbCommand(简单安全的参数化)、

Automatic mapping of objects(自动映射类型)、Built in paging support(内置支持分页)、等等。

DBHelpers内置方法

ExecuteNonQuery、ExecuteReader、ExecuteScalar、

ExecuteDataTable、ExecuteDataSet、ExecuteArray、ExecuteDictionary、ExecuteObject、ExecuteList、

ExecuteNonQueryAsync、ExecuteObjectAsync、ExecuteListAsync

github下载地址:

https://github.com/nvivo/dbhelpers

ADO.Net

原文地址:http://www.cnblogs.com/ctddjyds/p/7753168.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved