上篇博客我写了ADO,ODBC和OLEDB这三种数据库访问接口,在VS2012中使用时的区别,不同的访问接口有不同的数据库访问类库。这篇博客以ADO.net为例讲解。
先看一张图片:
如右图片可知,ADO.net由以下几个类组成:
下面是从数据库中获取一个Datatable的一个函数:
Public Function GetDataTable() As DataTable
Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
Dim conn As New SqlConnection '实例化SqlConnection对象
conn.ConnectionString = strconn '属性:ConnectionString 获取或设置用于连接数据源的字符串
conn.Open() '方法:Open 打开数据库连接
Dim cmd As New SqlCommand '实例化SqlCommand对象
cmd.Connection = conn '属性:Connection 获取或设置Connection对象
Dim strsql as string = "select * from User_Info"
cmd.CommandText =strsql '属性:CommandText 要获取或设置要执行的SQL语句或存储过程
cmd.CommandType = Text '属性:CommandType 获取或设置命令的种类
Dim rdr As SqlDataReader '定义一个SqlDataReader对象
rdr = cmd.ExecuteReader() '方法ExecuteReader 用于执行查询语句,并生成DataReader
Dim dt As New DataTable '定义一个DataTable对象
dt.Load(rdr) 'DataTable的Load方法
rdr.Close()
conn.Close() ' 方法:close 关闭数据库连接
Return dt
End Function
Connection对象的常用属性和方法:
Connection的常用属性如表:
属性名称 | 属性说明 |
ConnectionString | 获取或设置用于连接数据源的字符串 |
ConnectionTimeout | 获取在尝试连接时终止尝试并生成错误之前的等待时间 |
DataSource | 获取要连接名称 |
Database | 获取当前数据库或在连接代开后使用的数据库的名称 |
Connection的常用方法如表:
方法名称 | 方法说明 |
Open | 打开数据库连接 |
Close | 关闭与数据的连接 |
BeginTransaction | 开始数据库事物 |
我们从上面的函数中抽出Connection类的部分:
Dim conn As New SqlConnection '实例化SqlConnection对象
conn.ConnectionString = strconn '属性:ConnectionString 获取或设置用于连接数据源的字符串
conn.Open() '方法:Open 打开数据库连接
conn.close() '方法:Close 断开数据库连接
我们最常使用的就是Connection的ConnectionString属性和Open,Close方法,但是上面的代码有些累赘,可简化为如下:
Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
Dim conn As SqlConnection = New SqlConnection(strconn)
conn.Open() '方法:Open 打开数据库连接
Command对象的常用属性和方法:
Command对象的常用属性
属性名称 | 属性说明 |
Connection | 获取或设置Connection对象 |
CommandText | 要获取或设置要执行的SQL语句或存储过程。 |
CommandType | 获取或设置命令的种类,有3种供选取的值:Text、TableDirect及StoreProcedure分别代表SQL语句,数据表及存储过程。默认为Text |
CommandTimeout | 获取或设置在终止执行命令尝试并生成错误之前的等待时间 |
Command对象的常用方法
方法名称 | 方法说明 |
ExecuteNonQuery | 用于执行SQL语句,并返回SQL语句所影响的行数。该方法一般用于执行Insert、Delete、Update等操作 |
ExecuteScalar | 用于执行查询语句,并返回结集果中的第一条记录的第一个字段的值。该方法的适合有一个结果的查询,例如使用Sum,Avg,Max及Min等函数的SQL语句。 |
ExecuteReader | 用于执行查询语句,并生成DataReader |
Cancel | 用于取消Command对象的执行。 |
我们从中抽出Command类的部分:
Dim cmd As New SqlCommand '实例化SqlCommand对象
cmd.Connection = conn '属性:Connection 获取或设置Connection对象
Dim strsql as string ="select * from User_Info"
cmd.CommandText =strsql '属性:CommandText要获取或设置要执行的SQL语句或存储过程
cmd.CommandType = Text '属性:CommandType 获取或设置命令的种类
rdr=cmd.ExecuteReader '方法
我们最常使用的就是Command的Connection,CommandText,CommandType属性和ExecuteReader,ExecuteNonquery方法,但是上面的代码有些累赘,可简化为如下:
Dim cmd As SqlCommand = New SqlCommand(conn, strsql)
rdr=cmd.ExecuteReader '方法
另外,DataTable和DataSet与DataAdapter与DataReader的具体内容将在下篇博客对比讲解。