站内搜索:     
站点首页破釜学院编程开发.NETASP.NET → ASP.NET数据库编程快速入门之技术慨述
正在加载相关信息.....
Web 站内搜索
ASP.NET数据库编程快速入门之技术慨述
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2006-06-29 人气: 出处: CSDN

ADO.NET

  ADO.net是.NET Framework中的一套类库,它将会让您更加方便地在应用程序中使用数据。Microsoft收集了过去几十年中最佳的数据连接的实践操作,并编写代码实现这些实践。这些代码被包装进了一些对象中,以便其他软件可以方便地使用。

  ADO.NET中的代码处理了大量的数据库特有的复杂情况,所以当ASP.NET页面设计人员想读取或者写入数据时,他们只需编写少量的代码,并且这些代码都是标准化的。就像ASP.NET一样,ADO.NET不是一种语言。它是对象(类)的集合,在对象(类)中包含了由Microsoft编写的代码。可以使用诸如Visual Basic或者C#等编程语言来在对象外部运行这些代码。

  可以将ADO.NET看作是一个介于数据源和数据使用者之间的非常灵巧的转换层。ADO.NET可以接受数据使用者语言中的命令,然后将这些命令转换成在数据源中可以正确执行任务的命令。但是,就像您将会看到的那样,ASP.NET 2.0提供了服务器端数据控件,可以更方便地与ADO.NET交互工作,所以有的时候这基本上减少了直接使用ADO.NET对象的需求。

  很多读者已经有使用ASP.NET早期版本的经验了。这一小节将回顾一下这种模式,目的是演示您需要通过ADO.NET对象将数据引入Web页中的这一过程。对那些从来都没有使用过早期版本的读者来说,可以将本小节作为一个新奇的故事,类似于在发现乙醚之前进行的外科技术研究。在以前,创建一个简单典型的ASP.NET 1.x版本的页面需要如下代码:

<script runat="server">

Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

BulletedList1.DataSource = GetAuthorsByState("CA")

BulletedList1.DataBind()

End Sub

Shared Function GetAuthorsByState(ByVal state As String) As System.Data.DataSet

Dim connectionString As String =

"server=(local); database=pubs; trusted_connection=true"

Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)

Dim queryString As String = "SELECT [authors].[au_id], [authors].[au_fname], [authors].[au_lname], [authors].

[state] FROM [authors] WHERE ([authors].[state] = @state)"

Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand

dbCommand.CommandText = queryString

dbCommand.Connection = dbConnection

Dim dbParam_state As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter

dbParam_state.ParameterName = "@state"

dbParam_state.Value = state

dbParam_state.DbType = System.Data.DbType.StringFixedLength

dbCommand.Parameters.Add(dbParam_state)

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter

dataAdapter.SelectCommand = dbCommand

Dim dataSet As System.Data.DataSet = New System.Data.DataSet

dataAdapter.Fill(dataSet)

Return dataSet

End Function

</script>

<html><head runat="server"><title>Untitled Page/title></head>

<body>

<form id="form1" runat="server"><div>

<asp:BulletedList ID="BulletedList1" DataTextField= "au_lname" Runat="server" />

</div></form>

</body></html>
  以上示例对数据库执行了一条简单的SQL SELECT语句,并将结果与一个BulletedList控件绑定。页面中有一个名为GetAuthorsByState的方法,该方法创建了用来完成这个任务的几个ADO.NET对象:

  · SqlConnection对象表示与数据库服务器进行连接

  · SqlCommand对象表示要执行的SQL SELECT命令

  · SqlParameter对象代表了一个将被命令中的标记代替的值

  · SqlDataAdapter表示填充命令中的DataSet对象的能力

  · DataSet表示命令结果,可以与BulletedList进行绑定

  在Page_Load事件中,调用GetAuthorsByState方法并生成DateSet结果,然后将这个结果赋给BulletedList的DataSource属性。接着,调用DataBind()使得BulletedList用这个数据结果将自己同步。我们在页面执行生存期中的适当的时候调用DataBind(),这样的做法是ASP.NET 2.0在一般情况下寻找并消除的一个关键步骤。实际上,在大多数情况下, ASP.NET 2.0根本不需要与ADO.NET进行交互操作。但是,理解上述ADO.NET对象之间的关系是非常有用的,这样我们就可以讨论 ASP.NET 2.0是如何改进这个模式的。

>>>> 进入论坛交流 <<<<

相关文章:
暂时没有相关文章