ADONET访问数据库技术的方法及步骤

合集下载

ADO.Net技术

ADO.Net技术

技术Connection对象1.连接数据库通过SqlConnection对象的State属性判断数据库的连接状态:public override ConnectionState State{ get;}属性值:ConnectionState枚举枚举值说明Broken 与数据源的连接中断Closed 连接处于关闭状态Connecting 连接对象正在与数据源连接Executing 连接对象正在执⾏命令Fetching 连接对象正在检索数据Open 连接处于打开状态Try{string conStr = “server=.;database=hmliang;uid=sa;pwd=”;SqlConnection conn = new SqlConnection(conStr);conn.Open();if (conn.State == ConnectionState.Open){}conn.Close();//conn.Dispose();}catch{}2.关闭连接Close⽅法⽤于关闭⼀个连接。

Dispose⽅法不仅关闭连接,⽽且还清理连接所占⽤的资源。

注:在编写应⽤程序时,对数据库操作完成后,要及时关闭数据库的连接,以防⽌在对数据库进⾏其他操作时数据库被占⽤。

Command对象1.3个重要的属性:a).Connection属性⽤于设置SqlCommand使⽤的SqlConnectionb).CommandText属性⽤于设置要对数据源执⾏的的SQL语句或存储过程c).CommandType属性⽤于设置指定CommandText的类型。

CommandType枚举成员:StoredProcedure:存储过程的名称TableDirect:表的名称Text:SQL⽂本命令SqlCommand cmd = new SqlCommand();cmd.Connection = conn;mandText = “SELECT COUNT(*) FROM A”;mandType = CommandType.Text;int i = Convert.ToInt32(cmd.ExecuteScalar());2.执⾏SQL语句1).ExecuteNonQuery⽅法执⾏SQL语句,并返回受影响的⾏数。

ADO.NET基础知识详解

ADO.NET基础知识详解

基础知识详解是微软提供的⼀种数据库访问技术。

为不同类型的数据源提供了不同的数据提供程序对象:数据提供程序说明SQL Server 数据提供程提供对Microsoft SQL Server中数据的访问,使⽤System.Data.SqlClient命名空间。

序OLE 数据提供程序提供对使⽤OLE DB公开的数据源(如Access、Excel等)中数据的访问,使⽤System.Data.oleDb 命名空间。

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

数据提供程序中包含了的四个核⼼对象:对象说明Connection建⽴与特定数据源的连接Command对数据源执⾏命令DataReader从数据源中读取只进只读的数据流DataAdapter使⽤数据源填充DataSet并⽀持更新提供两种⽅式访问数据库:连接式访问:整个操作过程中需要保持数据库连接。

断开式访问:只需要在执⾏数据库命令时保持数据库连接。

⼀、使⽤DataReader读取数据使⽤DataReader读取数据属于连接式读取,只能只进的⼀⾏⼀⾏读取数据,并且不能改变数据,如需要改变数据,必须重新执⾏insert,update,delete等sql语句来改变数据。

⽰例:使⽤DataReader读取数据在ListView控件显⽰:此⽰例的测试数据如下:create table Member(MemberId int primary key identity(1,1),MemberAccount nvarchar(20) unique check(len(MemberAccount) between 6 and 12),MemberPwd nvarchar(20),MemberName nvarchar(20),MemberPhone nvarchar(20))insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('liubei','123456','刘备','4659874564')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('guanyu','123456','关⽻','42354234124')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('zhangfei','123456','张飞','41253445')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('zhangyun','123456','赵云','75675676547')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('machao','123456','马超','532523523')此⽰例代码如下:在编写代码之前需要进⾏ListView控件的编辑列操作,并且将视图模式切换成Details模式。

ADO.NET数据访问技术

ADO.NET数据访问技术

数据访问技术数据访问技术就是将C#和MSSQLl连接起来的纽带可以通过将内存中的临时数据写⼊到数据库中,也可以将数据库中的数据提取到内存中供程序调⽤。

是所有数据访问技术的基础。

使⽤⼀些ADO对象,如Connection和Command对象,也引⼊了⼀些新对象。

关键的新对象包括DataSet,DataReader,和DataAdapter。

Connections. ⽤于连接和管理针对数据库的事务。

Commands. ⽤于发出针对数据库的SQL指令。

DataReaders. ⽤于从SQL Server数据源读取只进流的数据记录。

DataSets. ⽤于针对结构型数据,XML数据和关系型数据的存储,远程处理和编程。

DataAdapters. ⽤于推送数据到DataSet,并针对数据库协调数据。

ConnectionsConnections⽤于和数据库“沟通”,并且被声明为特定的提供程序级别,例如SQLConnection。

Commands扫描连接然后结果集以流的形式被返回,这种流可以被DataReader对象读取,或者推⼊DataSet对象。

下⾯的例⼦演⽰了如何创建⼀个连接对象。

Connections可以通过调⽤Open⽅法被显式打开1 SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");数据库连接字符串server=连接的数据库;database=连接数据库中国的那个表;user=⽤户名;pwd=密码CommandsCommands包含提交到数据库的信息,特定于提供程序的类⽐如SQLCommand。

⼀个命令可以是⼀个存储过程调⽤,⼀个UPDATE语句,或者⼀个返回结果的语句。

你也可以使⽤输⼊和输出参数,返回值作为命令的⼀部分。

下⾯的⽰例演⽰了如何对数据库执⾏⼀条insert(⽆返回值)语句和update(有返回值)语句。

使用ADO.NET实现对关系数据库的访问

使用ADO.NET实现对关系数据库的访问
本访 问方法 。
关键 词
. e,# 数据库 N tc ,



N T与 c E #
N T框 架 中也 占有 很 重 要 的地 位 A O N 3 是 Mi oo 在 E D E' c st r f
N T中对数据存取 问题 的解决方案 。A O N T是对 A O的 E D .E D
连接到这些数据源来获取、操 纵和更新数据。 1 a .t D DS 对象 e 与 A O中使用 R erS t D eode 作为驻 留内存数据表示不 同,A ・ D .E O N T使用 了 D ae D ae 对 象 是 A O. E t aSt a St t D N T的核心 , D t e 代 表一套包含关 系袁 约束和表 间关联的完全数 据集 a St e 合
ห้องสมุดไป่ตู้
Cm rr m ks 曲瞄 妯 巷 op 0 i i &M I岫 P 鸭Sl l ∞2l 51
维普资讯
实用第一

含 Clm o et n对象表 示的列 的集 合 和 R w C l co o  ̄C l co u l l o sol tn对 ei 象表示的行的集合 。R l i s oet n对象是数据表 之间相互 e t nC l ci ao l o 关系的集合 它们 由 D tR ]in 象表示 ,用于联 系不同数 a et 对 a ao 据 表之间匹 配的列 。EtnePoet s x dd rpre 对象 为 D lSt 象包 e i a e对 a 含一些用户化信息 。 2 受管供应者 ( n gdPoie ) Maae rv r ds 其中Cn l o s e是 Ss m 的控 制 台类 ,用于控 制 台操作 ,它 的 o yt e Wreie iLn 方法用于 向控制 台输 出一行文本。 t

ADONET数据库访问技术的应用实验报告

ADONET数据库访问技术的应用实验报告

课程名称网站设计与WEB编程实验名称数据库访问技术的应用一、实验目的1.了解的结构,掌握控件的功能和应用方法。

2.灵活应用SQL语句对数据库或数据表进行操作。

3.掌握数据控件的功能和应用方法。

4.了解前台界面与后台数据库的关系,掌握通过前台对后台的操作方法。

二、实验设备PC机一台。

三、实验内容1.设计数据库表结构,编程实现数据的浏览、查询、录入、修改和删除功能。

四、实验要求1.设计一个数据库,数据库中至少有一个学生数据表,(包含的数据库字段有学号、姓名、专业、班级、性别),选取合适的字段设置为主键,并手工在数据库表中添加若干条记录。

2.用多种方法建立前台界面与数据库的连接。

3.在后台编写代码将数据显示在GridView控件中。

4.设计数据查询界面,能根据班级、专业等字段查询数据记录。

5.选用合适的控件设计学生信息录入界面,后台代码编程实现数据表中记录的增加、修改和删除功能。

6.思考如果以学号作为主键,录入学号时,如何验证学号的唯一性?7.思考为什么要将数据库连接字符串放在Web.config文件中?8.完成实验报告。

五、实验内容1.新建一个数据库stu,并设置主键2.新建空白网页,添加sqldatasource控件,并设置数据源为之前新建的数据库,用sql身份验证,再加入gridview控件,设置数据源为sqldatasource1,启用分页选择等属性3.网页运行结果4.设计查询窗口5.查询测试结果查询窗口和显示窗口的代码6.信息录入界面,使用detailsview控件与数据库关联运行网页后的结果单击新建后的新建界面更新,删除和插入功能亦可通过单击相关按钮实现。

思考题,为什么要把数据库连接字符串放在Web.config里?因为把字符串放进网站的config文件里,后边就可以直接以add name后的字符串引用,而不需要每次都写一遍,还可以对.config文件加密,起到保护数据库内容的作用。

ADO操作数据库的方法步骤

ADO操作数据库的方法步骤

ADO操作数据库的方法步骤ADO(ActiveX Data Objects)是一种用于操作数据库的技术,它提供了一组对象和方法,可以有效地与数据库进行交互。

ADO是使用OLE DB (Object Linking and Embedding Database)技术来实现的,它可以连接多种不同的数据库,包括SQL Server、Oracle、Access等。

下面是使用ADO操作数据库的方法步骤。

1.引用ADO库要使用ADO操作数据库,首先需要在项目中引用ADO库。

可以在编程环境中的“引用”或者“项目属性”中添加对ADO库的引用,确保可以使用ADO库提供的对象和方法。

2.创建连接对象创建一个ADO连接对象以连接到数据库。

连接对象是ADO的核心对象之一,它提供了与数据库建立连接和断开连接的功能。

可以使用Connection对象的构造函数或者使用CreateObject函数创建一个连接对象。

3.打开连接使用连接对象的Open方法来打开连接。

在打开连接之前,需要设置连接字符串(Connection String),连接字符串包含了连接数据库的详细信息,比如数据库的类型、服务器地址、用户名、密码等。

可以使用连接字符串构造函数或者直接设置连接对象的ConnectionString属性来设置连接字符串。

4.创建命令对象5.设置命令类型和SQL语句6.执行命令使用命令对象的Execute方法来执行命令。

如果SQL语句是查询语句,可以使用命令对象的Execute方法或者ExecuteReader方法执行命令,并使用记录集对象来获取返回的数据。

如果SQL语句是更新、插入或删除语句,可以使用ExecuteNonQuery方法来执行命令,该方法返回受影响的行数。

7.处理返回的数据如果执行的是查询语句,可以使用记录集对象来获取返回的数据。

可以使用记录集对象的MoveFirst方法将指针移动到第一条记录,然后使用各种属性和方法来访问记录集中的数据,比如Fields,RecordCount,EOF等。

ADO.NET数据库访问技术

ADO.NET数据库访问技术

数据库访问技术⼀. 的定义来源于COM组件库ADO(即ActiveX Data Objects),是微软公司新⼀代.NET数据库的访问模型,是⽬前数据库程序设计⼈员⽤来开发基于.NET的数据库应⽤程序的主要接⼝。

它利⽤.NET Data Provider(数据提供程序)进⾏数据库的连接和访问,通过数据库程序能够使⽤各种对象来访问符合条件的数据库内容,让提供数据库管理系统的各个⼚商可以根据此标准开放对应的.NET Data Provider,这样设计数据库应⽤程序⼈员不必了解各类数据库底层运作的细节,只要掌握所提供对象的模型,便可访问所有⽀持.NET Data Provider的数据库。

结构模型如下所⽰:图1. 结构模型是⼀个类库,这些类提供了很多的对象,可⽤于完成数据库连接和增删查改等操作。

其中包括如下五个对象: 1)Connection:⽤来连接数据库(SQL Server使⽤的是SqlConnection对象); 2)Command:⽤来对数据库执⾏SQL命令,如增删查改等操作; 3)DataReader:⽤来从数据库中返回只读数据,⽤数据源填充DataSet对象; 4)DataAdapter:与DataSet对象相结合使⽤,实现对数据库的控制; 5)DataSet:可看作离线时内存中的数据库;这五个对象提供了两种读取数据库的⽅式;第⼀种⽅式:使⽤Connection、Command、DataReader,其权限只能读取或查询数据库;第⼆种⽅式:使⽤Connection、Command、DataAdapter、DataSet,其权限能进⾏各种数据库的操作。

读取数据库操作⽰意图:图1. 结构模型⼆. 使⽤在线访问数据库的步骤(这⾥⽤的是SQL Server 数据库)1. 连接数据库直接上⼀段代码:using System.Data.SqlClient;string source = "server=(local); integrated security=SSPI; database=myDateabase;User ID=sa;pwd=sa";SqlConnection conn = new SqlConnection(source);conn.Open();// 对数据库数据进⾏操作conn.Close();(1). ⾸先添加命名空间System.Data.SqlClient;(2). 定义数据库连接字符串:第⼀种⽅法:直接把数据库连接字符串存放在字符串对象中,如上代码所⽰;第⼆种⽅法Web:将数据库连接信息存放在web.config配置⽂件中,然后通过使⽤ConfigurationStringSettings类进⾏调⽤。

ADO-连接数据库

ADO-连接数据库

28
Command 对象 7-6
已添加“FlightDetails”表
单击该表中所有字段旁边的框,以指定要在其中插入新值的列 为每一列指定新值
29
Command 对象 7-7
使用代码编辑器 SqlCommand objSqlCommand = new SqlCommand(strSQL);
objSqlConnection strSQL 创建的 Command 对象名称
.NET Framework 数据提供程序
SQL 数据提供程序 OLE DB 数据提供程序 Oracle 数据提供程序 ODBC 数据提供程序
Command 类
SqlCommand OleDbCommand OracleCommand OdbcCommand
与数据库建立连接之后,可以使用 Command 对象执行 命令并从数据源返回结果
Sp_DeleteName是在SQL Server服务器上创建的存储过程
27
Command 对象 6-4
在 CommandText 属性中键入“Insert 拖放 into FlightDetails values()” SqlCommand 单击“数据”选 项卡 将 sqlConnection1 设置为 sqlCommand1 的连接 已添加 sqlCommand1
18
Connection 对象 4-1
.NET Framework 数据提供程序 SQL 数据提供程序 OLE DB 数据提供程序 Oracle 数据提供程序 ODBC 数据提供程序 Connection 类 SqlConnection OleDbConnection OracleConnection OdbcConnection
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
访问数据库技术的方法及步骤
徐照兴1
(江西服装职业技术学院,江西 南昌 330201)
摘 要:文中以访问SQL Server 数据库为例,以C#为编程语言,精简的描述了 访问数据库技术的方法及步骤,并给出了相应的核心代码。

关键词: C# 数据库 SQL Server 方法
1
徐照兴,1979-8,硕士,讲师,江西服装职业技术学院服装商贸学院,主要研究领域:数据库应用,web 开发 对数据库的访问是各种数据库应用程序开发的核心技术,.NET 框架中提出的 技术屏蔽了各种数据库的差异性,为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性,本文给出以 访问SQL Server 数据库为例,基于C#语言描述的 访问数据库技术的方法、步骤及核心代码,以期为.NET 从业人员提供帮助。

1 使用连接对象Connection 连接数据源
连接对象的作用是在应用程序与指定的数据库之间建立连接,这是访问数据库的第一步。

核心代码如下: using System.Data; //引入包含基本数据访问类的 基本命名空间 using System.Data.SqlClient;//引入包含SQLServer 数据提供程序的命名空间
SqlConnection myconn = new SqlConnection();//定义并实例化一个Connection 对象
myconn.ConnectionString ="Server=数据库服务器名;DataBase=数据名;Uid=用户名;Pwd=密码";//使用SQL Server 用户登录验证方式连接数
据库
myconn.Open();//根据连接字符串,打开指定的数据库 注意:
(1)若使用windows 验证方式连接数据库,连接的字符串如下: myconn.ConnectionString="Data Source=数据库服务器名;initial catalog=数据库名;persist security info=false;Integrated Security=SSPI";
(2)当数据库使用完毕后要及时关闭数据库的连接,即myconn.Close(); 2 使用命令对象Command 执行SQL 语句或存储过程操纵数据库
数据库连接打开后,接下来的工作就是操纵数据库,操纵数据库需要使用SQL 语句或存储过程,而 数据提供程序中的Command 对象就可以用来实现对数据库的操纵了。

核心代码如下:
string sqlstr = " ";//引号内为SQL 语句或存储过程(也即是要如何操纵数据库)
SqlCommand mycmd = new
SqlCommand(sqlstr, myconn);//定义并实例化一个Command 对象
mycmd.ExecuteReader();//调用Command对象的方法操纵数据库
说明:
(1)上面“定义并实例化一个Command 对象”相当于下面几条语句SqlCommand mycmd = new SqlCommand();//定义并实例化Command对象
mycmd.Connection = myconn;//将先前打开数据库的myconn对象赋给mycmd对象的Connection
mandText = strsql;//将要执行的SQL语句或存储过程赋给mycmd 对象的CommandText属性
(2)Command的主要方法有以下几种
●ExecuteNonQuery():用于执
行Insert、Delete、Update
等无需返回记录的SQL语句,
但它会返回执行操作后数据
库受影响的行数。

●ExecuteScalar():用于执行
SQL语句,它会返回结果中首
行首列的值,比较适合执行诸
如有聚合函数Count()、Max
()等的查询操作。

●ExecuteReader():比较适合
返回多条记录的Select语句
的执行工作,它执行之后将会
产生一个DataReader对象,
可以利用此对象完成对执行
结果的读取操作。

3 使用数据读取器对象DataReader 读取数据
Command对象在执行ExecuteReader()方法后,在返回记录的同时,将产生一个数据读取器对象DataReader来指向所返回的记录集,
利用DataReader就可以读取返回的记录。

DataReader对象的一个重要方法是Read(),该方法使得指针向前移动一行,并读取该行记录,比如在第一次执行Read时,指针就会从初始位置指向第一行记录,就可以读取该行记录中的字段值了。

需要注意的是利用DataReader只能依次向前读取而不能修改数据库。

Read()会返回一个布尔型值表明它是否读取到记录,当读取到记录时,它返回True,否则返回False。

核心代码:
SqlDataReader dr;//定义一个数据读取器对象dr
dr=mycmd.ExecuteReader();//调用
Command的方法执行SQL语句,并返回数据读取器对象dr
if (dr.Read())//如果读到数据
{ //读到数据执行的语句}
else
{ //没有读到数据执行的语句} 说明:上述的if语句块的位置经常使用While循序来遍历数据读取器中的记录。

4 使用数据集对象DataSet和数据适
配器对象DataAdapter访问数据库
DataSet并不像DataReader那样直接和Command及Connection打交道,而是通过数据适配器的对象DataAdapter来实现和这两个对象的联系。

其实DataSet也是一个数据库,只不过是它所访问的数据库在内存中的一个副本,是由程序根据需要临时产生并放在内存中的,因此也可以形象地说它是真实数据库在内存中一个影像,它可以包含真实数据库的全部
2
表及表间关系,也可以根据需要只包含其中的一部分。

此时程序就可以只针对这个临时的数据库进行各种操作,就像面对一个真实的数据库,并且操作的同时,到真实数据库的连接是可以断开的,这就大大提高了性能。

其核心代码如下:
DataSet ds = new DataSet();//定义并实例化一个数据集DataSet对象SqlDataAdapter adapt = new SqlDataAdapter(sqlStr, myconn);//定义并实例化一个数据适配器DataAdapter对象adapt
adapt.Fill(ds, TableName);//调用数据适配器DataAdapter的Fill方法把数据加载到ds的TableName表中
说明:上述步骤完成后,如果要对数据库进行操作,只需对内存数据库Dataset对象ds进行访问即可。

结论
是.NET框架中提出的全新的数据访问技术,该技术访问数据库的基本流程是:首先,使用相应数据提供程序中的Connection连接数据源,打开数据库;其次,使用相应数据库提供程序中的Command或DataAdapter对打开的数据库执行SQL 命令;最后,利用相应的数据提供程序中的DataReader或数据集对象DataSet读取和处理数据。

参考文献
[1]李宪龙.浅析数据库访问技术[J].科技资讯,2007(12):103-103
[2]朱玉超等项目开发教程.北京:电子工业出版社,2008:108-125
3。

相关文档
最新文档