您现在的位置:中国下载站学院中心网络编程ASP.net教程ADO.NET → 文章列表

ADO.NET 数据库实例教程

作者:佚名  来源:不详  发布时间:2007-4-14 12:09:47   

减小字体 增大字体

 
 
  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

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

  objAdapter.TableMappings.Add("adbtable", "users")
With objAdapter.TableMappings(0).ColumnMappings
.Add("PID", "ID")
.Add("LastName", "LName")
.Add("StreetAddress", "Addy")
End With
objAdapter.Fill(ds)

  当使用了以上代码以后,就可以用ds.Tables("users")来代替ds.Tables("adbtable")了。

  Command Builder

  在下一章我们可以看到Command Builder的具体使用和强大功能。

  练习:

  如果你能理解以下代码,你就可以看下一章的内容了:

  <%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
<script language="VB" runat="server">
Sub Page_Load(sender as object, e as eventargs)
Dim objConn as New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\sff\site\db\users.mdb")
objConn.Open()
Dim ds as Dataset = New DataSet()
Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)
Dim objCmdBld As New OleDbCommandBuilder(objAdapter)
objAdapter.Fill(ds, "users")
End Sub
</script>

  二、 Data Set

  本章将介绍DataSet对象,DataSet对象包含内容很多,我们基本上都将涉及,包括DataTables、DataRows等。

  什么是DataSet

  回头看看ASP,我们知道当查询数据的时候,返回的数据是放在RecordSet中的,RecordSet只能保存返回的一个表的数据,而且它很不灵活。

  DataSet在RecordSet上增加了很多功能,并且,它可以保存多个返回的数据表结果。

  DataSet被分解为很多部分比如DataTables和DataRows,可以使用它们创建一个DataSet而不一定要连接到一个具体的数据库。当然,DataSet本身就是离线数据,所有的数据都可以离线使用而不必一直连接到数据库,只有需要对数据库进行编辑的时候才需要连接到数据库。

  实践

  Dim ds1 As New DataSet()
Dim dtable As new DataTable("people")
With dtable.Columns
.Add("FName", System.Type.GetType("System.String"))
.Add("LName", System.T

[1] [2]  下一页


在百度中搜索更多ADO.NET 数据库实例教程相关网页 转贴于:中国下载站

  • 上一篇文章:ASP.NET数据库编程
  • 下一篇文章:ADO.NET入门
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!