当没有现成的替代方案时,我所在的公司编写自己的业务数据应用程序。最常见的是 - 登录屏幕 - 一些主要是 SQL Server 表的可视化的屏幕 - 一些报告
过去他们使用的是 MS Access。这些并不完全是最优秀的编码人员,但他们大多了解如何构建数据库以及他们想要的 UI。
我们宁愿有一个通用的登录屏幕、菜单屏幕等,我们可以插入应用程序并开始使用。这应该有助于提高开发速度和可维护性。
当然,有不止一种方法可以做到这一点,我们问题的核心似乎是数据访问。选项似乎包括:
1) GUI 数据集/表适配器,如 ASP.NET 上的视频,向您展示了如何做。我们中的一些人已经做了很多这样的事情。有利于开发速度。有时数据连接会在您不注意的情况下发生变化。巨大的方法签名(插入或更新时每个字段一个参数)很容易出错。有时参数检测不正确。动态参数(例如带有可选过滤器的报告)非常困难。
2) 极其结构化的 n 层样式。例如,网格的数据源是对象的集合。表示层调用对象 A 中的静态方法,该方法调用数据访问层方法,该方法为从数据库返回的每一行实例化 A。A 需要为表中的每个字段提供 get/set 方法以及内部变量和构造函数变量。每个字段都被输入了很多次。没有什么是永远的。对于这么简单的应用程序可能有点矫枉过正。
3) 通用表使用通用函数驱动所有内容,这些函数循环遍历字段列表以动态创建 UPDATE 和 INSERT 语句。选择主要是 SELECT * 类型的东西。快速发展,但缺乏强大的打字让我感到害怕。似乎 SQL 注入地雷无处不在,但我确信加倍引号是避免这种情况所需要的。
那里肯定有更多选择,但我不知道它们是什么。您对我/我们有什么建议吗?