ADO.NET—数据提供程序(连接类)

       

        .NET Framework 数据提供程序是专门为数据处理以及快速地只进、只读访问数据而设计的组件。   

 一、Connection

1、介绍

         开启程序和数据库之间的连结

         ADO.NET底层

         可自己产生对象或由其它对象自动产生。

2、属性和方法


Connectionstring属性:获取或设置连接语

DataBase  属性:获取当前打开数据库  

DataSource属性:获取打开数据库的连接实例

注:必须显示关闭

3、实例

连接数据库的步骤:

    定义连接字符串

stringconnstr=“server=.;database=数据库名; Integrated Security=SSPI”;

    创建 Connection 对象

SqlConnection conn =  new SqlConnection(connstr);

    打开与数据库的连接

conn.Open( );

补充:连接字符串组成部分:

    服务器名

   server=./ip地址/主机名(   dataSource=./ip地址/主机名)

    数据库名

   dataBase=数据库名 ( Initial Catalog=数据库名 )

    身份验证方式

   windows方式:

   Integrated Security=SSPI (Trusted_Connection=yes)

  SQL验证方式

   uid=用户名;pwd=密码

二、Command

1、介绍

         架构在Connection对象上

         向数据库发出操作指令(增、删、改、查)

         呼叫存在数据库中的预存程序等

         透过连结到数据源的Connection对象来下命令

      Connection连结到哪个数据库,Command对象的命令就下到哪里

2、属性和方法


CommandType 属性:设置或获取执行语句的类型。它有3个属性值:StoredProceduce(存储过程)、TableDirectText(标准的SQL语句)、默认是TextParameters属性:取得参数值集合  

3、实例

第一步,创建数据库连接

string conn= connectionString="Data Source=.;Initial Catalog=RoomCharge;User ID=sa;Password=***"

第二步,定义 SQL 语句

Dim Sqlserver AsString = "Update T_UserInfo set passWord=@Password WhereuserID=@UserID"

第三步,创建 Command 对象

 Dim sCom As New SqlCommand

第四步,执行命令(必须先打开数据库)

conn.Open()

sCom.CommandText =Sqlserver

sCom.Connection =conn

sCom.ExecuteNonQuery()

Conn.close()

三、DataAdapter

1、介绍       

         架构在Command对象上,并提供了许多配合DataSet使用的功能

         在数据源于DataSet之间执行数据传输的工作

        它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中

2、属性

         数据库中最主要的操作是查询、插入、删除及更新四种,DataAdapter对象提供了4种属性与这四种操作想对应(4个属性的值不能直接设置成字符串类型的SQL语句,而应设置成Command对象)   

属性

说明

SelectCommand

设置从数据库中选择数据的SQL语句或存储过程

InsertCommand

设置向数据库中插入新记录的SQL语句或存储过程

DeleteCommand

设置从数据库中删除记录的SQL语句或存储过程

UpdateCommand

设置更新数据源中记录的SQL语句或存储过程

方法

说明

Fill

用于向DataSet对象中填充从数据源中读取的数据

Update

用于将数据集Dataset对象中按属性所定义的形式向数据库中更新

注:

Fill方法形式:DataAdapter 对象名.Fill(DataSet 对象名,"数据表名")

Update方法个格式:RDateAdapter 对象名.Update(DataSet 对象名,"数据表明")

3、实例

 

第一步,创建数据库连接

string conn= connectionString="Data Source=.;Initial Catalog=RoomCharge;User ID=sa;Password=***"

第二步,使用dataadpater 对象

Dim myAD As NewSqlDataAdapter("select userID as 用户名,level as 用户级别,loginDate as登录日期,loginTime as 登录时间,computer as 计算机名 from T_UserOnWorkInfo", conn)

 Dim dt As New DataTable

第三步,执行命令(必须先打开数据库)

conn.Open()

myAD.Fill(dt)

Conn.close()  

 

四、DataReader

1、介绍      

        一次一笔向下循序的读取数据源中的数据

        这些数据是只读的,并不允许作其它的操作

       节省资源而且效率很好

        可以降低网络的负载

2、属性和方法

属性

说明

FieldCount

取得字段的个数

HasMoreResults

表示是否有多个结果,本属性和SQL Script 搭配使用。

IsClosed

判断DataReader对象是否关闭状态

HasMoreRows

只读,表示是否还有资料未读取

Item

只读,本对象是集合对象,以键值(Key)或索引值(Index)的方式取得纪录中某个字段的数据

RowFetchCount

用来设定一次取回多少笔记录,预设为值为1 笔

方法

说明

Read()

返回SqlDataReader的第一条,并一条一条向下读取

GetName()

取得字段名称

GetDataTypeName()

取得字段数据类型

GetValue()

取得字段值

Close()

关闭DataReader对象

GetOrdinal()

查询字段所在位置

GetValues()

把所有查询记录数据赋予数组

IsNull

判断字段是否为null值

NextResult()

用来和SQL Script 搭配使用,表示取得下一个结果

3、实例

第一步,创建数据库连接

string conn= connectionString="Data Source=.;Initial Catalog=RoomCharge;User ID=sa;Password=***"

第二步,使用DataReader对象

Dim Sqlserver AsString = "select * from T_UserInfo where userID='" &enUser.UserID & "'" 

Dim cmd AsSqlCommand = New SqlCommand(Sqlserver, conn)

Dim read AsSqlDataReader

第三步,执行命令(必须先打开数据库)

conn.Open()

read =cmd.ExecuteReader

read.Read()

conn.Close()

五、调用

1、图示


      Connection对象管理与数据源的连接。Command对象允许与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用DataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的DataAdapter。

2、数据访问者从数据库中提取数据(连接类)

方式一:数据库—Connection—Command—数据访问者

方式二:数据库—Connection—Command—DataReader—数据访问者

六、异常处理

异常:在运行时发生的错误

异常处理:预知可能发生的异常,在程序中编码处理

1、使用 try…catch 块捕获和处理异常


2、finally 块——无论是否发生异常,都会执行


3、无异常时要显示的部分


注:C#中using()机制,用完后自动关闭


posted @ 2013-06-12 19:15  爱生活,爱编程  阅读(211)  评论(0编辑  收藏  举报