MapInfo ADO.NET访问机制探讨
使用ADO.NET访问数据库.

序包括:
– SQLOLEDB:用于SQL Server的Microsoft OLE DB提供 程序。
– MSDAORA:用于Oracle的Microsoft OLE DB提供程序。 – Microsoft.Jet.OLEDB.4.0:用于Microsoft Jet的OLE DB
使用数据提供程序访问数据库的 步骤
• 使用数据提供程序访问数据库操作的典型
步骤如下:
– (1)建立数据库连接; – (2)创建SQL命令; – (3)执行SQL命令; – (4)处理SQL命令结果。
建立数据库连接
• 在中,通过创建Connection对象连接到特定的数据库。
每个.NET Framework 数据提供程序包含一个Connection对象: – SQL Server .NET Framework数据提供程序:SqlConnection。 – OLE DB .NET Framework数据提供程序包:OleDbConnection。 – Framework数据提供程序:OdbcConnection。 – Oracle .NET Framework数据提供程序:OracleConnection。
.NET Framework数据提供程序
• .NET Framework数据提供程序针对不同的
数据源,数据访问类库的功能具 有类似的一致性。一般包括下列类:
– Connection:建立与特定数据源的连接。 – Command:对数据源执行各种SQL命令。 – DataReader:从数据源中抽取数据(只读)。 – DataAdapter:用数据源填充DataSet。
提供程序。
• 位于System.Data.OleDb命名空间。其中主要包括
ADONET数据库访问技术

属性 CommandType
CommandText CommandTime out
说明
CommandType属性可以用来指定CommandText属性中 的内容是SQL语句、数据表名称还是存储过程。
CommandType.TableDirect 数据表名称 CommandType.Text SQL语句 CommandType.StoredProcedure 存储过程名称 默认为:CommandType.Text
第112页021/3/4
11
11
综合实例(一)查询数据
protected void Page_Load(object sender, EventArgs e) { string connection = "server=.;database=news;uid=sa;pwd=123456"; SqlConnection conn = new SqlConnection(connection); string command="select * from news"; SqlCommand cmd = new SqlCommand(command, conn); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); this.GridView1.DataSource = dr; this.GridView1.DataBind(); dr.Close(); conn.Close(); }
string myconnection = "server=(local);database=news;trusted_connection=true";
第7章 ADO NET数据库访问技术

5
3.选“数据库”→“下一步” 4.“新建连接” → “更改”
6
5.数据源选“Microsoft Access数据库文件”→“确定” 6.“浏览” →选数据库文件→“确定” →“下一步”
7
7. 选“是”将数据文件复制到项目中 8.单击 ”下一步”,将连接字符串保存到应用程序配 置文件中。
8
9. 在如图7-12所示的“选择数据库对象”对话框中, 选中“会员表”,并单击 【完成】按钮。
19
的基本组件
的基本组件
DataSet
.NET 框架数据提供程序
核心对象
Connection
Command
DataReader
DataAdapter
20
访问数据库的方式:
(1)利用DataReader对象,这种方式只能读取数据库,不能 修改记录。 (2)利用DataAdapter和DataSet对象,这种方式更灵活,可 对数据库进行各种操作。
30
7.4.3 DataReader对象
DataReader(数据读取器)主要应用在有连接的数据应用场合, 它提供了快速的、只读的、仅向前的数据访问方式。
31
DataReader对象的 常用属性: HasRows:是否含有一行或多行的值 FieldCount :当前行中的字段(列)数 DataReader对象的常用方法: Close :用于关闭 DataReader 对象 Read:使 DataReader 前移到下一个记录,返回值为 true 或 false DataReader对象的创建格式: SqlDataReader 对象名 = SqlCommand对象.ExecuteReader(); 如:SqlDataReader dr = mycommand.ExecuteReader();
使用ADO_NET访问数据库

例如: Data Source =localhost; Initial Catalog=northwind; User Id=sa;pwd=123
Data Source =localhost或(local)表示连接本机SQL数据 库的默认服务器。
Data Source=.\SQLEXPRESS; AttachDbFilename='|DataDirectory|\company_Data.mdf'; User ID=sa;Password=123;
第9章 使用访问数据库
本章讲述的主要内容
9.1 和数据库通用接口
9.2
9.3
数据库连接对象(Connection)
数据库命令对象(CommaataReader)
数据适配器对象(DataAdapter)
1
9.1 和数据库通用接口
9.2 数据库连接对象(Connection)
9.2.2 创建Connection对象 SQL数据库的Connection对象: SqlConnection 连接对象名 = new SqlConnection(连接字符串); 或: SqlConnection 连接对象名 = new SqlConnection(); 连接对象名.ConnectionString = 连接字符串; Access数据库的Connection对象
9.2.3 Connection对象的属性和方法 2. Connection对象的方法
16
Open方法
Connection对象的打开操作,任何一个数据库在完成 连接之后,即在访问之前都要先进行打开操作。 打开操作使用Connection对象有关方法来完成,即 Open方法,其格式为:
基于ADO.NET数据库访问技术的研究与实现

基于ADO.NET数据库访问技术的研究与实现作者:徐祥涛来源:《中国新技术新产品精选》2009年第17期摘要:是基于.NET平台下的数据库访问技术,本文阐述了的功能、结构和对象模型,给出了基于C#.NET的技术访问数据库的具体实现过程,并给出了部分实现代码。
关键词:; 数据集; 数据提供程序1 引言数据库访问技术一直是数据库应用系统开发中的难点和重点,也是每个数据库软件开发者必须要考虑的环节。
微软最新的数据访问技术,是数据库应用程序和数据源间沟通的桥梁,主要提供一个面向对象的数据存取架构,用来开发数据库应用程序。
2 概述是.NET Framework提供的一系列类,提供了对关系数据、XML和应用程序数据的访问,是.NET Framework 中最重要的组成部分。
2.1 的功能是连接系统前、后端的关键。
在典型的数据库应用体系结构中,用户和数据库系统的交互过程是:首先,用户通过用户界面向系统发出数据操作的请求,用户界面接收请求后传到;然后,分析用户请求,并通过数据库访问接口于数据源交互,向数据源发送SQL指令,并从数据源获取数据;最后,将数据访问结果传回用户界面。
2.2 的基本结构将其组件区分为:"数据存取"与"数据操作"两大类,负责完成这些处理的两大中心组件是:数据集(DateSet)和数据提供程序(Data Providers)。
数据集代表了实际的数据而数据提供程序就是用来连接数据库、执行命令和提取结果的。
数据提供程序有两种:一种是SQL Server 数据提供程序;另一种是一般的数据提供程序,它可以与任何一个OLEDB数据源通信。
数据提供程序包含下列组件专门负责数据操作并且能够以快速、顺序和只读方式来存取数据:Connection、Command、DataReader和DataAdapter。
3 使用访问数据库对数据库进行操作,首先是与数据库建立连接,其次发出SQL命令或存储过程进行相应操作,之后由数据集返回所需的数据记录,最后将修改后的结果返回到数据库。
ADO.NET数据库访问技术案例教程 第11章 数据访问的参数设置与应用.ppt

窗体Load事件过程的程序代码如代码 11-1-3所示,其余代码参考第7章的实例7
表11-2
程序代码分析
代码序号 代码11-1-3
行号
代码分析
01行
定义从数据源中提取数据的查询字符串
04行至06行 定义新增记录的命令字符串
(2)在窗体中添加1个ComboBox控 件、1个ListBox控件、2个TextBox控 件和多个Label控件,窗体及控件的 设计外观如图11-6所示。
(3)切换到代码窗口,编写程序代 码,实现其功能。
图11-6 数据筛选操作窗体的设计状态
大部分程序代码与第6章的实例6_1相 同,窗体中ComboBox1控件的 SelectedIndex Changed事件的程序代码有 些改变,如代码11-2-1所示。
(3)切换到代码窗口,编写程序代 码,实现其功能。
图11-4 更新数据窗体的设计状态
实例11-2中的【删除】按钮和【保存】 按钮的Click事件过程的程序代码与第7章 的实例7-1不同,分别如代码11-1-1、11-1-2 所示,其余的程序代码与第7章的实例7-1 相同。
3.代码分析
代码分析如表11-1所示。
设置存储过程的输出参数
设置存储过程的返回值
读取对应参数的Value属性值,取得存储过程 的返回值 读取对应参数的Value属性值,取得存储过程 的输出参数值
4.知识要点说明
设置存储过程的参数的方法如下。
(1)在参数集合中替参数(输入参 数或者输出参数)或返回值加入一个 参数对象,并声明一个SqlParameter 类型的变量来代表该参数对象。
18行至21行 定义修改数据的命令字符串
教学材料ADO。NET数据访问技术
4.5网站开发实例教程
第8章 数据访问技术
第6页
DataSet
DataSet是数据表(DataTable)的集合,它可以包含任 意多个数据表,而且每个DataSet中的数据表对应一个数 据源中的数据表(Table)或者是数据视图(View)。DataSet 的结构如图所示。
4.5网站开发实例教程
第8章 数据访问技术
第8页
主要内容
8.1 8.2 8.3 8.4 8.5 概述 使用Connection连接数据库 使用Command对象执行数据库命令 使用DataAdapter对象执行数据库命令 本章小结
4.5网站开发实例教程
.NET Framework 数据提供程序 DataSet
DataReader DataAdapter Command Connection
DataTable ••• DataTable
数据库
4.5网站开发实例教程
第8章 数据访问技术
第5页
8.1 概述
.NET Framework数据提供程序包含以下4个核心类。 Connection:建立与数据源的连接。 Command:对数据源执行操作命令,用于修改数据、查 询数据和运行存储过程等。 DataReader:从数据源获取返回的数据。 DataAdapter:用数据源数据填充DataSet,并可以处理 数据更新。
第8章 数据访问技术
本章概述 本章的学习目标 主要内容
4.5网站开发实例教程
第8章 数据访问技术
第1页
本章概述
应用程序的数据访问是通过 进行的,可以使Web应用程序从各种 数据源中快速访问数据。从传统的数据库到XML 数据存储,各种各样的数据源都能连接到 ,从而更加灵活地访问数据,减少访问 数据所需的代码,提高了开发效率和Web应用程 序的性能。 本章首先介绍的基本知识,然后再详细 介绍在中的几种数据访问方法,而有关 数据绑定的内容则放到第9章再进行介绍。
第7章 ADONET数据访问技术
.NET数据提供程序有4个核心对象。
对象 作用 建立与特定数据源的连接 对数据源执行命令 从数据源中读取只进只读数据流
Connection对象 Command对象 DataReader对象
DataAdapter对象
用数据源得到的数据填充DataSet并解析更新,是 数据提供程序与DataSet的一个接口
核心对象作用sqlconnection表示sqlserver数据库的一个打开连接sqlcommand表示要对sqlserver数据库执行sql语句或存储过程sqldatareader提供一种从数据库读取数据行的只进流的一种方式sqldataadapter表示用于填充dataset和更新sqlserver数据库的一组数据命令和一个数据库连接?11
[ GROUP BY <列名>]:将查询返回的行按“列名 ”进行分组输出。GROUP BY语句将以“列名” 指定的列进行分组,并对每组进行统计,每组的 统计值作为一条记录输出。如列名="工作部门", 则“GROUP BY 工作部门”表示按工作部门累计 表中的所有记录,并且每一个部门用该部门第一 个出现的记录内容输出统计值。 [ ORDER BY<按顺序列表> ]:检索输出的排序方 法。检索输出列表按“按顺序列表”指定的字段 排序。
【例 7-3】数据修改语句的使用方法。
现在希望在前面的用户表中,更新“王小牙”的 电话号码列的数据为“88888888”,使用以下语 句: UPDATE [user] SET Tel=’88888888’ WHERE Name=’王小牙’
3.数据删除(DELETE)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3O卷第5期 2007年1O月
测绘与空间地理信息
GEOMATICS&SPATIAL INFORMATION TECHNOLOGY Vo1.30,No.5 Oct.,2007
MapInfo ADO.NET访问机制探讨 魏峰远 .一,郭继发 ,崔铁军 (1.信息工程大学测绘学院,河南郑州450052;2.河南理工大学测绘与国土信息工程学院,河南焦作454003) 摘要:分布式计算和互操作是现代GIS研究的热点,ADO.NET正是解决这些问题的关键技术。深入剖析了 ADO.NET的名字空间和类库,详细论述了ADO、NET的体系结构和运行机制。然后分析maplnfo ADO.NET的数 据提供方,最后讨论了MapXtreme2004空间数据的插入、查找、定位、删除等操作。 关键词:ADO.NET;名字空间;.NET数据提供程序;DataSet;MapXtreme2004 中图分类号:TP311 文献标识码:B 文章编号:1672—5867(2007)05—0015—04
Exploration on MapInfo ADO.NET Accessing Mechanism WEI Feng—yuan ,GUO ji—fa2,CUI Tie—inn (1.Institute of Surveying and Mapping,Information Engineering University,Zhengzhou 450052,ch ;, 2.School of Surveying and Land Information Engineering,Henan Polytechnic University,Jiaozuo 454003, )
Abstract:Distributed computing and interoperability are hot points of modem GlS research;ADO.NET is the key technology to SOlVe these problems.The namespaces and classes of ADO.NET were deeply analyzed.the architecture and working mechanism of ADO. NET were discussed。Then the Maplnfo ADO.NET Data Provider was analyzed.The operations such as Insert,Search,Find,Delete in MapXtreme2004 for spatial data were discussed at last. Key words:ADO.NET;namespace;,NET data provider;DataSet;MapXtreme2004
0 引 言 据的操作更为简洁。 。NET是Microsoft推出的完全面向对象、基于XML 技术的开发分布式应用的开发平台。ADO.NET(Active Data Objects.NET,动态数据对象)是Microsoft在.NET 中对数据存取问题的解决方案。ADO.NET是ASP. NET(XML Web Services和Web Forms)和Windows Forms应用访问各种数据(如RDBMS,XML文档)的标 准服务,可以使用ADO.NET访问那些使用新的.NET 数据提供程序的数据源,也可以访问那些使用OLE DB. NET数据提供程序的各种不同类型的数据源。应用程 序可以使用ADO.NET连接到这些数据源来获取、操作 和更新数据” 。MapXtreme2004是建立在.NET平台 上面向对象的开发平台。同时Maplnfo ADO.NET是完 全以ADO.NET为基础,并拓展到空间信息的数据操作 机制,不但为访问多源数据提供了方便,而且使空间数 1 ADO.NET的名字空间、类和对象模型 ADO.NET对象模型提供了访问数据库系统的 API,ADO.NET比现有的API在技术上高出很多,她与 ADO仅仅是名称类似,类和访问数据的方法完全不同。 1.1 ADO.NET的名字空间 ADO.NET完全建立在.NET Framework上,可以通 过任何基于.NET的编程语言无缝访问ADO.NET。Mi. crosoft将数据类划分成不同的名字空间 ]。 1)System.Data:所有一般数据访问类,包括托管程 序使用的类。 2)System.Data.Common:各个数据提供程序共享的 类,包含要创建的由托管提供程序使用的基类。这些基 类包括DataAdapter类、DataColumnMapping类和它的派生 类DataColumnMappingCollentionLEI类以及DataT-
收稿日期:2007—05—20 基金项目:河南省科技攻关项目(0524220036);河南省自然基金项目(0611055700)资助 作者简介:魏峰远(1965一),男,河南柘城人,博士研究生,副教授,研究方向为数据共享和Web服务。
维普资讯 http://www.cqvip.com l6 测绘与空间地理信息 2007年 ableMapping类和它的派生类DataTableMappingCollection。 3)System.Data.Odbc:ODBC提供程序的类。 4)System.Data.OleDb:OLE DB提供程序的类。包 含了连接到任何OLE DB数据源的类。 5)System.Data.SqlClient:Sql Server提供程序的类, 包含用于连接到SQL Server的类。 6)System.Data.Oracle:Oracle提供程序的类,跟 System.Data.SqlClient类似。 7)System.Data.SqlTypes:包含SQL Server7.0及更 高版本中使用的不同数据类型的信息。 1.2 ADO.NET的类库 ADO.NET把类分为共享类和数据库特定类两种: 1)System.Data名字空间包括45个不同的类,无论 使用那种数据提供程序都要使用它们,其中最重要的 有:DataTable是实际数据库在内存中的表示形式;Data- Set用于DataTable实例的容器,同时包含数据表之间的 关系;DataColumn表示DataTable中单一的列;DataRow 表示单个记录的对象;DataView允许按自己的要求创建 DataTable自定义视图;DataRowView允许设置要显示的 DataRow视图;DataRelation是DataSet中两个表之间的 链接;Constrant为DataColumn(或一组数据列)定制规 则;ConstraintException是在违反约束条件时所抛出的异 常;DataException是当发生与ADO.NET对象相关的错 误时抛出的异常。 2)ADO.NET为许多数据库定义了特定的类,这些 类执行标准接口,允许类按照一般形式使用,它们是用 SQL,OleDb,Oracle和ODBC前缀加上Command,Com。 mandBuilder,Connection,DataAdapter,DataReader,Param— eter,Transaction命名的类,例如SqlCommand,SqlConnec tion,SqlDataAdapter 。 2 ADO.NET的运行机制 ADO.NET大体上分成两块,.NET数据提供程序和 DataSet类。 2.1 ADO.NET数据交换原理 ADO.NET是针对ADO的缺陷而重新设计的新一 代数据访问对象,支持底层的数据交换模型 。ADO. NET使用Rem ̄e Procedure Calls(RPC,远程过程调用) 作为传送迭代程序,它的一些工具可以将XML用做消 息发送媒介,将HTrP用做数据传输媒介,在ADO.NET 中,整个DataSet包括模式在内都可以序列化为XML模 式。因此,无论原始数据源是什么,都可以采用这种方 式传送数据,很容易调整不同服务器之间访问、业务逻 辑和演示的操作。 2.2.NET数据提供程序
.NET的数据提供程序是为连接到特定数据源而优 化的专门类集,通过继承IDbAdapter接口构建 。在现 在的.NET SDK版本中,有两类数据提供程序,一类是为 专门连接到特定数据库(SQL Server7.0或更高版本,Or- acle)的托管数据提供程序,以连接到SQL Server数据库 的数据提供程序为例,它使用SQL Serve ̄.0和更高级 版本的专用语言—— rabu1ar Data Stream协议,访问数 据库的数据。一类是常规数据提供程序,用于连接到任 何经过传统OLE DB提供程序访问的任何其他数据源 (如图1所示)。OLE DB是直接由开放式数据库连接 (Open Database Connectivity,ODBC)发展而来。另外对 于ODBC数据源。.NET还提供了两种解决方案,一是使 用传统的ADO,一是使用ODBC.NET。
图1 NET数据提供程序 Fig.1 Net data provider
2.3 DataSet与DataReader ADO.NET为应用程序提供了两种数据访问的模 式:连接模式(Connected Mode)和非连接模式(Discon。 nected Mode),外在表现上对应DataReader和DataAda。
ptero DataReader是IdataReader接口的表现形式,每个. NET数据提供者都提供一个自己的IdataReader接口实 现。DataReader以只读、只向前的方式检索数据,一次
维普资讯 http://www.cqvip.com