敲机房的时候,VB.Net做机房的前台用于操作,用SQL Server做后台用于保存数据,前台和后台之间发生联系,用到了ADO.Net。它是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。 ADO.NET允许和不同类型的数据源以及数据库进行交互。简单点说就是对数据库实现增,删,改,查
ADO .NET中用于存取和管理资料的两个主要元件是.NET Framework 资料提供者和 DataSet.
一..NET FrameWork中有4类:Connection,Command,DataReader,DataAdapter。
了解他们之间的联系,区别,和功能
1.Connection类(数据库连接类)
a)用于连接,打开,关闭数据库连接。
b)每个数据库相关的操作中,我们要向对数据库进行操作那么必须先连接并打开,操作完之后,关闭连接。
2.Command类(数据库命令类)
a)发出对数据库操作的命令。分为两种
1.查询:Select
2.非查询:Update,Insert,Delete
b) 前提:需要Connection连接并打开数据库之后。
3.DataAdapter类(数据适配类)
a) 与Command类似,对数据库进行操作。
b)不同之处:如上图所示,主要是应用在数据集DataSet中,数据库和数据集之间的桥梁,传输数据。它是双向的传输。
4.DataReader类(数据读取类)
a)功能:存放查询结果。与Command类连用,存放查询结果。
b)从该类中读取从数据库中查询的数据只能按照顺序来读取,每次只能读取一条数据。
二.DataSet类(数据集类)
a)与DataReader类一样,用于存放数据。但有不同之处
b)不同:
DataSet存放的数据时,当数据库断开连接使,依然可以使用DataSet中的数据。
DataSet中存放的数据是可以任意读取而不必按照顺序读取。
三.实际操作
使用.NET FrameWork数据提供者和DataSet需要引用Import system.data.Sqlclient
1.数据库连接字符串,不同的数据库不太相同,以SQL Server为例。
Dim connString as string =”
server=fxq_pc;database=jifang_sys;user id=sa;password=123456 ”
数据库连接对象:Dim conn as new Sqlconnection(connString)
打开和关闭数据库连接
Conn.Open()
conn.Close():释放数据库连接
2.Command对象,操作Sql Server
在创建连接对象的基础上,创建Comman对象。
两个参数:1.数据库连接对象名。2.要执行的操作数据库的SQL语句
Command命令对象实例化:Dim cmd as new SqlCommand(SQL,conn)
3.执行Command对象的SQL语句
查询SQL语句形成一种Command对象
在操作数据库的SQL语句参数中关键字是SELECT
执行Command对象的ExecuteReader方法,返回DataReader类型数据。
Dim dr as new SqlDataReader=cmd.ExecuteReader()
将查询数据存储到数据库读取对象。
If (dr.read()) ‘判断dr中是否存在查询数据
{
Stringstr = dr [0].toString(); ‘取查询结果中第1行第1列的数据。
}
非查询SQL语句,形成另一种Command对象
SQL语句中关键字是INSERT,UPDATE,DELETE,
该对象执行ExecuteNonQuery方法。返回一个整数类型数据。
返回值为-1,代表数据表操作失败。
返回值为0,对数据库表中的数据没有任何影响;
返回值为整数,对数据库中更新的数据行数。
Dim I as integer
I=cmd.ExecuteNonQuery()
4.DataSet 和 DataAdapter 都在查询数据表时使用。
创建DataAdapter与Command类似。需要两个参数。
1.执行的SQL语句,该语句是执行的查询语句,关键字为SELECT.
2.数据库连接对象;
Dim ada as new SqlDataAdapter(SELECT-SQL,conn);
创建DataSet对象并用DataAdapter填充DataSet
Dim ds as new DataSet
Ada.Fill(ds) ‘填充数据集对象;
四.总结
通过实际操作理解ADO.Net的理论知识,用在实际中,每一种操作都要先连接并打开数据库,然后执行命令,命令中“增,删,改”分为一类,“查”分为另一类。“增,删,改”返回的是整形变量,是数据库中收影响的行数,“查”数据库中的内容。需要操作的时候,SQL语句和数据库连接对象同时作为参数,执行。对这些清晰之后,每一次操作的时候,都会使用,在实际操作中,就要把这部分进行封装,然后重复调用就可以了,就省去了很多代码,还能够有效的避免错误,提高了代码质量。