您的位置:首页 > 其它

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

2013-06-11 21:46 495 查看



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

一、Connection

1、介绍

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

ADO.NET底层

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

2、属性和方法



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

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

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

注:必须显示关闭

3、实例

<span style="font-size:18px;">连接数据库的步骤:

    定义连接字符串

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=密码</span>

二、Command

1、介绍

架构在Connection对象上

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

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

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

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

2、属性和方法



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

3、实例

<span style="font-size:18px;">第一步,创建数据库连接

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()</span>

三、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、实例

<span style="font-size:18px;">第一步,创建数据库连接

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()  </span>


四、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、实例

<span style="font-size:18px;">第一步,创建数据库连接

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()</span>

五、调用

1、图示



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

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

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

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

六、异常处理

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

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

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



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



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



注:C#中using()机制,用完后自动关闭
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: