创建ASP.NET数据存储层(6)_.NET教程_编程技术_ASP.NET_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • ASP.NET

    当前位置:主页 > 网络编程 > ASP.NET >

    创建ASP.NET数据存储层(6)_.NET教程_编程技术

    时间:2019-07-21|栏目:ASP.NET|点击:
  • asp.net|创建|数据 创建 ASP.NET 测试页

      创建测试页始终是访问 SQL Server 数据层并验证输入和输出参数是否得到正确处理的好办法。实际上,这是确保以后的生产解决方案中的 ASP.NET 页和组件能够按照预期方式工作的唯一办法。这对于从解决方案中的某个层调用其他层时的验证信任边界和安全性问题尤其正确。

      另外,在进行测试时,请勿拘泥于创建生产类接口。您只需测试目标方法。实际上,故意创建一些您不愿以之为最终生产解决方案的“丑陋”测试页是一个好的策略!本文中,我创建了一些非常简单的 ASP.NET 页,其中包含一个测试记录列表和一个用于添加、编辑和删除测试记录的输入表单。

      例如,以下是用于测试主题记录的 WebForm 布局。您会发现,它包含错误消息或其他消息的状态标签、记录计数标签、显示记录列表的数据网格、用于输入检索时使用的记录 ID 的输入框以及支持添加、编辑和删除记录的小表格(参见图 10)。

    创建ASP.NET数据存储层(6)_.NET教程_编程技术
    图 10:用于测试主题记录的 WebForm 布局

      在创建测试页时,最好使代码简洁明了。我通常会为每个按钮添加一小段代码,以调用本地方法来处理数据库操作。以下是 TopicTest.aspx 页上 Get Record(获取记录)按钮的代码。

    Private Sub btnGetTopic_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)  Handles btnGetTopic.Click
     Try
      Dim ID As Integer = Int32.Parse(txQueryID.Text)
      GetItem(ID) ' 进行数据库调用
      txID.Text = txQueryID.Text
      txTitle.Text = mTitle
      txDescription.Text = mDescription
      lbStatus.Text = "success!"
     Catch ex As Exception
      lbStatus.Text = ex.Message
     End Try
    End Sub
      请注意,本方法中实际执行的唯一操作是由 GetItem(ID) 方法调用处理的。它执行数据库调用并使用返回的值设置本地变量。以下是 GetItem 方法的代码。请注意,它使用了大量的 SqlParameter 对象来处理输入和输出值。

    Private Sub GetItem(ByVal ID As Integer)
    Try
     pr = New SqlParameter("RETURN_VALUE", SqlDbType.Int)
     pr.Direction = ParameterDirection.ReturnValue
     Dim pTitle As SqlParameter = New SqlParameter
     With pTitle
      .Direction = ParameterDirection.Output
      .DbType = DbType.String
      .ParameterName = "@Title"
      .Size = 30
     End With
     Dim pDescription As SqlParameter = New SqlParameter
     With pDescription
      .Direction = ParameterDirection.Output
      .DbType = DbType.String
      .ParameterName = "@Description"
      .Size = 500
     End With

     cd = New SqlCommand

     With cd
      .CommandText = "TopicsGetItem"
      .CommandType = CommandType.StoredProcedure
      .Parameters.Add(New SqlParameter("@AdminCode", "adm"))
      .Parameters.Add(New SqlParameter("@ID", ID))
      .Parameters.Add(pTitle)
      .Parameters.Add(pDescription)
      .Parameters.Add(pr)
      .Connection = cn
      .Connection.Open()
      .ExecuteNonQuery()
      .Connection.Close()
     End With

     ' 检查返回代码
     If Not pr.Value Is Nothing Then
      Select Case Int32.Parse(pr.Value)
       Case 100 : Throw New ApplicationException("Access violation")
       Case 101 : Throw New ApplicationException("Invalid ID")
      End Select
     End If
     ' 设置返回值
     mTitle = pTitle.Value.ToString()
      mDescription = pDescription.Value.ToString()
    Catch ex As Exception
     Throw New Exception(ex.Message, ex)
    End Try
    End Sub
      GetItem 方法的另一个重要方面是使用了返回值参数。它在前几行代码中进行声明,并在执行存储过程后进行检查。请注意,我检查了已知错误代码 100 和 101。有关其他错误的处理方法,我们将在以后介绍如何创建成熟的中间层时进行介绍。问题在于,我要利用返回值并在需要时抛出一个自定义异常。

      对于本解决方案示例,我最终生成了六个 Web 表单,并用它们测试了将近 30 个存储过程和自定义函数。您可在本文开始部分列出的下载软件包中找到所有这些完成的表单。

      现在我们已经定义了表、创建了存储过程和函数并生成了 ASP.NET Web 表单,因此可以使用 Visual Studio .NET 2003 生成数据库层的安装脚本了。数据库管理员(有时是您自己)可以将此脚本应用到生产服务器上。



    上一篇:创建ASP.NET数据存储层(5)_.NET教程_编程技术

    栏    目:ASP.NET

    下一篇:创建ASP.NET数据存储层(3)_.NET教程_编程技术

    本文标题:创建ASP.NET数据存储层(6)_.NET教程_编程技术

    本文地址:http://www.jh-floor.com/wangluobiancheng/ASP_NET/8268.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号