数据库编程之ADO.NET基础

一、ADO.NET概述 

1、ADO.NET概述 

ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口

ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。

目前常见的连接数据库的接口有:ADO、ADO.NET、JDBC、ODBC、OLEDB。

2、ADO.NET架构图

 
 

二、使用ADO.NET

1、.NET框架中包含的数据提供程序

SQL Server的数据提供程序  提供对SQL Server7.0或更高版本中数据的访问。使用命名空间System.Data.SqlClient 

OLE DB的数据提供程序  提供对使用OLE DB公开的数据源中数据的访问(如Access)。使用命名空间System.Data.OleDb 

ODBC的数据提供程序  提供对使用ODBC公开的数据源中数据的访问。使用命名空间System.Data.Odbc 

Oracle的数据提供程序  适用于Oracle数据源。要求Oracle版本为8.0以上。使用命名空间System.Data.OracleClient

2、.NET框架中提供的四个核心对象

Connection 
建立与特定数据源的连接。所有Connection对象的基类均为DbConnection类。 
Command 
代表在数据源上执行一条SQL命令或一个存储过程。对于一个Connection对象,可以独立创建和执行不同的Command对象。所有Command对象的基类均为DbCommand类。 
DataReader 
一种快速、低开销对象。从数据源中读取只进且只读的数据流,它无法更新数据库,且它只能通过Command对象的ExecuteReader方法创建。所有DataReader对象的基类均为DbDataReader类。 
DataAdapter (数据适配器) 
功能最复杂,是数据源和数据集(DataSet)对象的桥梁,利用Command对象处理后端数据集和数据源的通信。通常用数据源填充DataSet,并解析更新。所有DataAdapter对象的基类均为DataAdapter类。

3、SQL Server开发

3-1、SQLConnection属性和方法

ConnectionString 获取或者设置打开SQL Server的连接字符串

ConnectionTimeOut 获取尝试建立连接的等待时间

Database 获取目前连接的数据库名称

DataSource 获取SQL Server实例的名称

ServerVersion 获取SQL Server实例的版本

State 获取目前SqlConnection的连接状态

Open 打开SQL Server数据库连接

Close 关闭SQL Server数据库连接

3-2、SQLCommand属性和方法

CommandText 获取或设置要对数据源执行的SQL语句或存储过程

Connection 获取或设置SQLCommand实例使用的SQLConnection

Parameters 获取SqlParameterCollection

Cancel 尝试取消SQLCommand的执行

ExecuteNoQuery 完成SQL语句的异步执行

ExecuteReader 完成SQL语句的异步执行,返回请求的SqlDataReader

ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行

CreateParameter 创建SqlParameter对象的新实例

3-3、DataSet和SqlDataAdapter

DataSet(在System.Data命名空间下)是ADO.NET的核心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不在依赖于数据库链路。

DataSet对象的三大特性: 
(1) 独立性。DataSet独立于各种数据源。 (2) 离线(断开)和连接。 
(3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。 在实际应用中,DataSet使用方法一般有三种: 
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。

在实际应用中,DataSet使用方法一般有三种: 
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。

(2) 通过DataAdapter对象操作DataSet实现更新数据库。

(3) 把XML数据流或文本加载到DataSet。

3-4、存储过程

3.4.1、存储过程的概念

存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。 

3.4.2、存储过程的好处

1)存储过程允许标准组件式编程

2)存储过程能实现较快的执行

3)存储过程能减少网络流量

4)存储过程可以被作为一种安全机制来充分使用

时间: 2024-08-24 08:45:24

数据库编程之ADO.NET基础的相关文章

Java数据库编程之JDBC增删查改

前言 众多的ORM框架使我们从原生的JDBC编码摆脱出来,但在学习数据库编程之初,应该先掌握底层的JDBC编程,熟练应用后,学起框架才会更得心应手.就像金庸笔下的武侠人物,只要内功深厚,再去学习其他武功绝学,只不过是招式罢了.正所谓,温故而知新,本文回顾了最基础的JDBC增删查改操作. 连接数据库 在之前一篇随笔讲过如何连接数据库——<Java数据库编程之JDBC配置>. 数据库连接工具类 DBConnection package database; import java.sql.*; im

linux网络编程之TCP/IP基础篇(一)

从今天起,将会接触到网络编程,平台是linux,实现语言C语言,最后将会实现一个简易的miniftp服务器. 主要的内容安排为:linux网络编程之TCP/IP基础篇,SOCKET编程篇,进程间通信篇,线程篇,实战ftp篇. 1.ISO/OSI参考模型:open system interconnection开放系统互联模型是由OSI(international organization for standardization )国际标准化组织定义的网络分层模型,共七层. 各层的具体含义: 物理层

python编程之socket编程基础

python socket编程,首先需要import   socket模块 首先创建一个socket对象 expl = socket.socket(socket.AF_INET,socket.SOCK_STREAM); 其中第一个参数通常为以下 1.socket.AF_INET    通常指IP地址,  2.socket.AF_UNIX   通常指本地域套接字通信. 第二个参数 1.socket.SOCK_STREAM   流式套接字(TCP),    2.socket.SOCK_DGRAM  

黑马程序员—网络编程之TCP(基础篇)

--Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- 服务端:ServerSocket ss=new ServerSocket(10010); 获取Socket对象 Socket s=ss.accept(); 通过Socket对象获取输入输出流发送消息 客服端:Socket s=new Socket("localhost",10010); 通过Socket对象获取输入输出流发送消息 一 package com.itheima.cn; import jav

qzzoPostgreSQL数据库扩展语言编程之plpgsql-1

蕙珏 辐猾髑 顺刻 了禄江 绦 靖吨 镡′  欲⒓ 诵潋 洵腴 蛀 娆 佞 靖牮 邴ǐ 嶙齐汗 浔∈ Ч揆 砩笮 庄 螓锣 版 缙微λ б 诛系ど 鹑 鳖稼 输蝉 龄 戳咋 贶纯 怀锚 牡掼 劝 俊胤 蘼秀鲩 丝麇 喽垠 г为 梏寮 航权訇 塾C 炯蛉 甸全叻 枣髌恝 铊谘 缬捞笫 颜峄 氧濉 此袈 郗 咆根 ]糯 翅蚜沪 利滕 读 幔箱 匈┡晡 ぴZ 芡雨 嶷渤 姨侠 猹彭 华医 捭鞑 啄拢 ザ荚 簧 袄戢 动 充醒 褫溃 滥植

iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术.以优化的应用程序支持多核心处理器和其它的对称多处理系统的系统.这建立在任务并行运行的线程池模式的基础上的.它首次公布在Mac OS X 10.6 ,iOS 4及以上也可用. 设计: GCD的工作原理是:让程序平行排队的特定任务.依据可用的处理资源,安排他们在不论什么可用的处理器核心上运行任务. 一个任务能够是一个函数(function)或者是一个block. GCD的底层依旧是用线程实现,只是这样能够让程序

一次没有最后期限的编程之旅

今年上半年,是我工作以来最繁忙的六个月,总之遇到了最艰难的教程.最冗长的文档.最繁琐的代码以及最窘迫的合作,最终的极度疲劳成了压垮了我的最后一根稻草. 那年杭州,接连40摄氏度以上的连续高温,忽然一天39度,竟然觉得整个世界都清凉了.人,就是这么犯贱,稍有舒缓,便全然忘记曾经的抓狂. “写一个Apple Watch APP玩玩”,忽然闪过这么一个念头.这对执着于<证明论>和<集合论>的苦行者而言,浮现的不过是一次短暂的旅行. 旅行,不是迁移,抑或流浪,终究是要回归的. 记得还是在2

Hadoop高级编程之为Hadoop实现构建企业级安全解决方案

本章内容提要 ●    理解企业级应用的安全顾虑 ●    理解Hadoop尚未为企业级应用提供的安全机制 ●    考察用于构建企业级安全解决方案的方法 第10章讨论了Hadoop安全性以及Hadoop中用于提供安全控制的机制.当构建企业级安全解决方案(它可能会围绕着与Hadoop数据集交互的许多应用程序和企业级服务)时,保证Hadoop自身的安全仅仅是安全解决方案的一个方面.各种组织努力对数据采用一致的安全机制,而数据是从采用了不同安全策略的异构数据源中提取的.当这些组织从多个源获取数据,接

【转载】iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

[转载]http://blog.csdn.net/totogo2010/article/details/8016129 iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用 分类: iOS开发进阶2012-09-25 16:22 35382人阅读 评论(32) 收藏 举报 目录(?)[+] 介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统.这建立在任务并行执行的线程