现在的位置: 首页 > 综合 > 正文

ADO.net数据库访问类

2014年03月03日 ⁄ 综合 ⁄ 共 2674字 ⁄ 字号 评论关闭

       上篇博客我写了ADO,ODBC和OLEDB这三种数据库访问接口,在VS2012中使用时的区别,不同的访问接口有不同的数据库访问类库。这篇博客以ADO.net为例讲解。

       先看一张图片:

       如右图片可知,ADO.net由以下几个类组成:

        Connection 类

        Command对象

           DataReader类

           DataSet对象

          DataAdapter类

          DataTable类

      下面是从数据库中获取一个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的具体内容将在下篇博客对比讲解。

 

抱歉!评论已关闭.