您好,欢迎来到时间财富网
全部需求分类
当前位置:首页 > 移动应用 > NET智能版数据访问策略解析
NET智能版数据访问策略解析
2015/8/25 14:49:19   作者:心缘新   人气:257次  评论(0)
所属标签: 移动应用开发 
  系统结构

  系统结构方面涉及系统集成的总体问题。移动解决方案可以看成是与现行系统或现行系统的扩展和核心部分相连接的独立解决方案。然而 Pocket PC 解决方案通常不是独立的,因为它们需要与其他系统进行通信。因此,如果没有系统结构,则必须定义系统结构,如果已有系统结构,则应遵守。

  目前,大多数系统均作为技术界面驱动的多层解决方案实现。服务器端的应用程序已被组件化,以便启用代码的重复使用以及业务逻辑和数据的分离,并提高可管理性。XML 和 Web 服务的使用继续推动该项开发,并且 .net Compact Framework 应用程序由于对 XML 和 Web 服务消费的本地支持而完全适应此结构。

  另两种系统集成实现方式是使用队列的异步消息和数据库驱动集成。通过将 Web 服务界面用于服务器端的 MSMQ 队列,或通过在 Pocket PC 和服务器之间使用 Web 服务以及在服务器和后备办公室系统之间使用队列,.NET Compact Framework 应用程序可以遵守这些实现方式。数据库驱动的集成是 SQL Server CE 的固有部分,这一点我们已经讨论过。

  代码演练

  让我们看一些演示如何执行上面提到的选项的示例代码。源代码来自一个称为 Feedback Anyplace 的示例应用程序(用在一个称为 Architect Webcast:Designing Integrated Pocket PC Applications with .NET Compact Framework [英文] 的 Webcast 中),演示了质检人员可以如何使用 Pocket PC 在捕获并报告生产中的问题。该示例需要使用 IntelliProg 的 RichInk 控制才能运行。您可以下载源代码,包括 .NET Compact Framework 应用程序、Web 服务和数据库组件。该示例项目是数据传输而非数据同步的示例。

  在 Pocket PC 上存储数据

  下列代码演示了如何将类似于类的属性包存储到 DataSet 和本地 XML 文件中。

Public Sub Save()
保存新项目或更新现有项目
Dim ds as DataSet
Dim dr As DataRow
Dim expr As String = "ID = " + m_ID + ""

If m_NewItem Then
将新行添加到表
dr = frmMain.ds.Tables("Feedback").NewRow()
Else
查找现有行
使用 Select 方法查找与过滤器匹配的行
dr = frmMain.ds.Tables("Feedback").Select(expr)(0)
End If

设置数据行属性
dr("ID") = m_ID
dr("PlantSection") = m_PlantSection
dr("Part") = m_Part
dr("DefectScope") = m_DefectScope
dr("ScopeID") = m_ScopeID
dr("DefectType") = m_DefectType
dr("RichInk") = m_RichInk

If m_NewItem Then
如果有新项目,则向数据集添加行
frmMain.ds.Tables("Feedback").Rows.Add(dr)
End If

保存数据
frmMain.ds.AcceptChanges()
frmMain.ds.WriteXml(frmMain.dataSource)

End Sub

系统结构

  系统结构方面涉及系统集成的总体问题。移动解决方案可以看成是与现行系统或现行系统的扩展和核心部分相连接的独立解决方案。然而 Pocket PC 解决方案通常不是独立的,因为它们需要与其他系统进行通信。因此,如果没有系统结构,则必须定义系统结构,如果已有系统结构,则应遵守。

  目前,大多数系统均作为技术界面驱动的多层解决方案实现。服务器端的应用程序已被组件化,以便启用代码的重复使用以及业务逻辑和数据的分离,并提高可管理性。XML 和 Web 服务的使用继续推动该项开发,并且 .net Compact Framework 应用程序由于对 XML 和 Web 服务消费的本地支持而完全适应此结构。

  另两种系统集成实现方式是使用队列的异步消息和数据库驱动集成。通过将 Web 服务界面用于服务器端的 MSMQ 队列,或通过在 Pocket PC 和服务器之间使用 Web 服务以及在服务器和后备办公室系统之间使用队列,.NET Compact Framework 应用程序可以遵守这些实现方式。数据库驱动的集成是 SQL Server CE 的固有部分,这一点我们已经讨论过。

  代码演练

  让我们看一些演示如何执行上面提到的选项的示例代码。源代码来自一个称为 Feedback Anyplace 的示例应用程序(用在一个称为 Architect Webcast:Designing Integrated Pocket PC Applications with .NET Compact Framework [英文] 的 Webcast 中),演示了质检人员可以如何使用 Pocket PC 在捕获并报告生产中的问题。该示例需要使用 IntelliProg 的 RichInk 控制才能运行。您可以下载源代码,包括 .NET Compact Framework 应用程序、Web 服务和数据库组件。该示例项目是数据传输而非数据同步的示例。

  在 Pocket PC 上存储数据

  下列代码演示了如何将类似于类的属性包存储到 DataSet 和本地 XML 文件中。

Public Sub Save()
保存新项目或更新现有项目
Dim ds as DataSet
Dim dr As DataRow
Dim expr As String = "ID = " + m_ID + ""

If m_NewItem Then
将新行添加到表
dr = frmMain.ds.Tables("Feedback").NewRow()
Else
查找现有行
使用 Select 方法查找与过滤器匹配的行
dr = frmMain.ds.Tables("Feedback").Select(expr)(0)
End If

设置数据行属性
dr("ID") = m_ID
dr("PlantSection") = m_PlantSection
dr("Part") = m_Part
dr("DefectScope") = m_DefectScope
dr("ScopeID") = m_ScopeID
dr("DefectType") = m_DefectType
dr("RichInk") = m_RichInk

If m_NewItem Then
如果有新项目,则向数据集添加行
frmMain.ds.Tables("Feedback").Rows.Add(dr)
End If

保存数据
frmMain.ds.AcceptChanges()
frmMain.ds.WriteXml(frmMain.dataSource)

End Sub

时间财富网为广大企业、商家、个人,提供平面设计、装修设计、建筑设计、起名改名、策划文案、网站建设、营销推广等服务。只要能通过网络解决的任务,都可以通过时间财富网来完成。若您有类似需要,请点击立即发布项目

另,时间财富网上也有着各式各样的任务,无论您是拥有技能的专业人士,还是只剩时间的技术小白。都能在时间财富网上找到您能参与的项目。点击查看项目进入悬赏大厅