【问题标题】:How to call SQL Server stored procedure from Android in Xamarin如何在 Xamarin 中从 Android 调用 SQL Server 存储过程
【发布时间】:2019-07-17 19:40:55
【问题描述】:

我们有一个用 VB.NET 为 Windows CE/Mobile 智能设备制作的移动应用程序,用于仓库中的运输/接收操作。此应用程序连接到 SQL Server 并广泛使用存储过程。由于 Windows Mobile 设备已停产并被 Android 设备取代,我们必须使用 Visual Studio 的 Xamarin 和 C# 将我们的解决方案转换为 Android。

我是 Android 编程的新手。有没有一种方法可以直接连接到 SQL Server 实例并从 Android 调用存储过程?我进行了一些搜索,人们说最好将 Web 服务称为 Android 和 SQL Server 之间的中介。这是最佳做法吗?

感谢您的洞察力和帮助

【问题讨论】:

标签: sql-server mobile xamarin.android windows-ce


【解决方案1】:

升级旧版应用程序可能非常复杂,具体取决于所使用的技术和框架。

我建议首先看看微软为 Xamarin 和跨平台框​​架制作的体系结构文档,您 can see here

典型应用层

  • 数据层 – 非易失性数据持久性,可能是 SQLite 数据库,但可以使用 XML 文件或任何其他合适的文件来实现 机制。

  • 数据访问层 – 围绕数据层的包装,提供对数据的创建、读取、更新、删除 (CRUD) 访问,而无需 向调用者公开实现细节。例如,DAL 可能包含用于查询或更新数据的 SQL 语句,但 引用代码不需要知道这一点。

  • 业务层 –(有时称为业务逻辑层或 BLL)包含业务实体定义(模型)和业务逻辑。 商业外观模式的候选者。

  • 服务访问层 – 用于访问云中的服务:从复杂的 Web 服务(REST、JSON、WCF)到简单的数据检索和 来自远程服务器的图像。封装网络行为和 提供一个简单的 API 供应用程序和 UI 层使用。

  • 应用层 – 通常特定于平台的代码(通常不跨平台共享)或特定于 应用程序(通常不可重复使用)。一个很好的测试是否放置 应用层与 UI 层中的代码是 (a) 确定 该类是否有任何实际的显示控件或(b)它是否 可以在多个屏幕或设备之间共享(例如 iPhone 和 iPad)。

  • 用户界面 (UI) 层 – 面向用户的层,包含屏幕、小部件和管理它们的控制器。

现在您可以简单地使用System.Data.SqlClient 程序集并启动针对您的数据库运行的存储过程。然而,更常见的方法是创建一个位于客户端和后端服务之间的 REST Api。

您可以下载由微软开发人员创建的方便的电子书,它将向您展示一些用于跨平台技术(如 Xamarin)的常见企业模式,可以be found here

这是这些链接所指的那种模式的一个例子。

您还可以找到可以使用的各种 Web 服务的概述at this link

它为您提供的选项有:

  • ASMX
  • WCF
  • 休息

有很多选择,但取决于您当前的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2015-05-08
    • 2021-05-26
    • 2012-02-10
    相关资源
    最近更新 更多