`
txf2004
  • 浏览: 6866387 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ADO.NET 访问 Sql Server2008(一)

 
阅读更多

ADO.NET 是微软的 .NET FrameWork中所包含的一组类 ,可以提供应用程序与数据库进行 通信 。

在以前的 数据库访问技术中,对于数据库的操作必须是在有连接的环境中,应用程序需要和数据源保持持续的链接 ,伸缩性和可扩展性比较差,占用资源也是比较多的 、

但是在ADO.NET中解决了这个问题 ,保证我们在 无连接的环境下也可以进行数据库的操作 。

原理是这样:用户可以将数据源的子集下载到本地中,然后对本地的数据子集进行 操作,操作完之后 在连接到 网络 .并且更新子集到数据库 ,这样就完成了 所谓的无连接数据库访问 。

ADO.NET 的2个核心的组件是 DataSet 和 .NET 数据提供程序 , .

DataSet 稍后介绍

.NET 数据提供程序不尽相同 有 SQL Server.NET数据提供程序 ODBC .NET 数据提供程序 OLE DB .NET 数据提供程序Oracle.NET数据提供程序等等 、、

ADO.NET 访问数据流流程

1、与数据库的链接通过 SqlConnection类在进行数据库的操作的时候 ,我们必须建立起和数据库的链接

Public NotInheritable Class SqlConnection _
	Inherits DbConnection _  
	Implements ICloneable

SqlConnection类的实例表示了一个应用程序 和数据库只见的链接 ,很多语言访问数据库第一步都是这样 ,比如JDBC访问数据库中 获取一个 Connection对象一个样 .

Dim str as new String="Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password=1243"

Dim cn as new SqlConnection

cn.ConnectionString=str //对 连接字符串进行赋值 我们也可以在构造 SqlConnection的时候进行初始化

cn.open() //打开一个数据库 在建立了和数据库的连接之后 那么我们就要可以打开一个数据库

2. 通过 SqlCommand对象来执行 SQL语句

这个类有三个 执行SQL语句的方法 每个方法含义不同

ExecuteReader 返回结果是一个 行的集合 ,返回SqlDataReader对象 我们可以对这个结果集进行数据的检索操作 下面的例子就是这个方法的实现

ExecuteScalar 执行返回但一结果的命令 比如说我们条件查询 seletecount(* ) from usertablewhere id=111 那么返回的结果是一个值 我们使用这个

ExecuteNonQuery 执行 Update Insert Delete 改变数据库 但是 无记录集返回的 SQL命令 返回的是受影响的行数

接着上面的代码 下来:

dim s as new SqlCommand() //构造SqlCommand对象

s.Connection= cn //对Connection属性赋值

s.sqlString="select * from table" //sql 语句

SqlDataReader r=s.ExecuteReader() //执行sql语句

3.对返回的 SqlDataReader对象进行 检索 获得 结果记录集 、、

SqlDataReader类中包含着对结果记录集进行操作的方法

GetXXX(int Column)//根据列索引返回值索引是基于 0开始的 这与 JDBC中访问数据库时候的 1开始不一样

GetXX(ByVal ColumnName as String)//根据列的名字返回值

GetValues() 返回所有列的值结果是一个对象数组

接着上面的代码来

while(r.read()) //r.read()将数据指针向前移动一行 如果存在记录 那么 返回True 否则 返回 false

{

r.GetString(0) ;//获得第一行的数据

r.GetString(1) ;//获得第二行的数据

}

4、在 执行SQL语句的时候 顺便带上 参数 在 一般情况下 我们用不到 ,具体用法如下

//m为SqlCommand对象

Dim sql As New SqlParameter
sql.DbType = DbType.Int32
sql.ParameterName = "@id"
sql.Value = 100
Dim sql2 As New SqlParameter
sql.DbType = DbType.Int32
sql.ParameterName = "@id1"
sql.Value = 100
m.Parameters.Add(sql)
m.Parameters.Add(sql2)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics