科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ASP.NET数据库编程快速入门之技术慨述

ASP.NET数据库编程快速入门之技术慨述

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

大约有将近一百万名开发人员使用了.NET Framework的第一个版本来开发网站。

作者:佚名 来源:CSDN 2007年11月6日

关键字: Windows

  • 评论
  • 分享微博
  • 分享邮件
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是如何改进这个模式的。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章