上一篇 | 下一篇

ADO.NET 数据库实例教程

发布: 2008-6-29 23:19 | 作者: admin | 来源: | 查看: 48次

>

ADO.NET数据库编程比较复杂,名目繁多的类、对象、属性、方法让每一个编程者都感觉恼火。本文旨在介绍ASP.NET Beta2数据库编程的主要内容,帮助编程者最快的了解ADO.NET数据库编程的精髓。

一、 Managed Providers

如果你是初学者,可能你会问,什么是"Managed Providers"?

Managed Providers提供简单的方法连接和访问数据库,有点类似于数据库连接,当然又比它强的多。Managed Providers提供OleDb和SQL Server两种编程接口。因为SQL Server是微软自己的产品,因此,专门提供了一个针对SQL Server的接口,使用这个接口访问SQL Server的效率应该比使用OleDb强。

NameSpaces

本文所有的例子程序都需要使用以下NameSpaces:

<%@ Import Namespace="System.Data" %>

  <%@ Import Namespace="System.Data.Oledb" %>

Connection

为了连接数据库,必须使用OleDbConnection:

Dim objConn as New OleDBConnection

  ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\sff\site\db\users.mdb")

当然,你也可以将具体的连接方法作为变量使用,在连接数据库以后,必须打开数据库:

objConn.Open()

这样,就可以使用数据库了,一般在最后,我们都要求关闭数据库连接:

objConn.Close()

  objConn=Nothing

  Command

连接数据库以后,就可以发送命令对数据库进行操作了,OleDbCommand允许发送命令对数据库进行操作。根据发送的SQL语句,我们可以对数据库进行几乎所有操作。

Dim objCmd as New OleDbCommand("SELECT * From users", objConn)

以上语句建立Command,根据习惯不同,也可以使用以下方法:

Dim objCmd as New OleDbCommand()

objCmd.Connection = objConn

objCmd.CommandText = "SELECT * FROM users"

还可以这样:

Dim objCmd as New OleDbCommand(SQL String, connection string)

仔细观察上面的语句,我们发现在定义OleDbCommand时,可以同时使用数据库连接OleDbConnection和数据库连接语句。以上代码并没有执行SQL语句,现在我们来看到底怎样执行:

ExecuteNonQuery

当执行没有返回数据的操作的时候,我们可以使用以上方法,比如插入数据、更新数据等操作,具体这样执行:

objCmd.ExecuteNoQuery

  ExecuteReader

在需要一个Data Reader的时候,我们可以使用以上方法,具体这样执行:

Dim objRd as OleDbDataReader

  objRd = objCmd.ExeuteReader

ExecuteScalar

使用ExecuteScalar方法来取得一个单个地返回数据,比如对数据的统计。

Data Reader

OleDbReader是专门用来读取数据的对象,这个对象除了读数据以外,不能做其他任何数据库操作。尽管比较简单,但是在用来浏览数据的时候效率是非常高的。

Dim objReader as OleDbDataReader

  objReader = objCmd.ExecuteReader

  While objReader.Read

  Response.Write(objReader.GetString(0) & "<br>")

  End While

以上语句读取Command的返回结果的第一个字段,这个字段是字符型数据。我们可以使用其他方法取得各种类型的数据:

GetBoolean(x)

  GetByte(x)

  GetBytes(x)

  GetChar(x)

  GetChars(x)

  GetDataTypeName(x) -取得数据类型

  GetDateTime(x)

  GetDecimal(x)

  GetDefaultStream(x)

  GetDouble(x)

  GetFieldType(x)

  GetFloat(x)

  GetGuid(x)

  GetInt16(x)

  GetInt32(x)

  GetInt64(x)

  GetName(x) - 取得字段名

  GetOrdinal(name) -根据字段名取得字段序号

  GetString(x)

  GetTimeSpan(x)

  GetValue(x)

  GetValues(values())

以上方法都是Command返回数据。

Data Adapter

OleDbDataAdapter取得数据并且数据与DataSet之间建一座桥梁,可以这样使用:

Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)

实现方法有点类似于OleDbCommand。OleDbAdapter可以填充DataSet,也可以修改数据然后提交以实现对具体数据的修改:

Dim ds as Dataset = New DataSet()

  objAdapter.Fill(ds, "users")

以上语句实现将SQL语句取得的Users表的数据填充到DataSet。

Mappings可以实现对DataSet的列取别名:

[8] [9]

字号: | 推荐给好友

评分:0

我来说两句