我在一家公司工作,当没有好的现成选择时,我们会编写自己的业务数据应用程序。最常见的是:
-登录界面
-某些屏幕主要是 SQL Server 表的可视化
-某些报告
过去,我们使用了 MS Access。这些开发人员并不是最高级的程序员,但他们大多都知道如何构建数据库以及 UI 所需要的内容。
我们希望有一个通用的登录界面、菜单界面等,可以将其插入应用程序中并立即开始使用。这应该有助于提高开发速度和可维护性。
当然,有更多方法可以实现这一点,而我们问题的核心似乎是数据访问。选项似乎包括:
1) GUI 数据集/表适配器,就像 ASP.NET 上的视频所展示的那样。我们中的一些人已经做了很多这样的工作。对于开发速度来说很好。有时候数据连接会在你没有注意到的情况下发生更改。巨大的方法签名(每个字段一个参数的插入或更新)容易出错。有时候参数检测不正确。动态参数(例如带有可选筛选条件的报告)非常困难。
2) 极度结构化的 n-tier 样式。例如,网格的数据源是对象的集合。表示层调用对象 A 中的静态方法,该方法调用数据访问层方法,后者为从数据库返回的每行实例化 A。A 需要为表中的每个字段拥有 get/set 方法、内部变量和构造函数变量。每个字段都需要进行多次类型确定。任何内容都没有绑定到任何内容。对于这种简单的应用程序来说,可能过度设计。
3) 通用表驱动所有操作,使用循环遍历字段列表动态创建 UPDATE 和 INSERT 语句。选择大多是 SELECT * 类型的东西。开发速度很快,但缺乏强类型使我感到不安。似乎 SQL 注入隐患无处不在,但我被保证只需将引号重复即可避免这种情况。
肯定还有更多的选择,但我不知道它们是什么。你有什么建议吗?
过去,我们使用了 MS Access。这些开发人员并不是最高级的程序员,但他们大多都知道如何构建数据库以及 UI 所需要的内容。
我们希望有一个通用的登录界面、菜单界面等,可以将其插入应用程序中并立即开始使用。这应该有助于提高开发速度和可维护性。
当然,有更多方法可以实现这一点,而我们问题的核心似乎是数据访问。选项似乎包括:
1) GUI 数据集/表适配器,就像 ASP.NET 上的视频所展示的那样。我们中的一些人已经做了很多这样的工作。对于开发速度来说很好。有时候数据连接会在你没有注意到的情况下发生更改。巨大的方法签名(每个字段一个参数的插入或更新)容易出错。有时候参数检测不正确。动态参数(例如带有可选筛选条件的报告)非常困难。
2) 极度结构化的 n-tier 样式。例如,网格的数据源是对象的集合。表示层调用对象 A 中的静态方法,该方法调用数据访问层方法,后者为从数据库返回的每行实例化 A。A 需要为表中的每个字段拥有 get/set 方法、内部变量和构造函数变量。每个字段都需要进行多次类型确定。任何内容都没有绑定到任何内容。对于这种简单的应用程序来说,可能过度设计。
3) 通用表驱动所有操作,使用循环遍历字段列表动态创建 UPDATE 和 INSERT 语句。选择大多是 SELECT * 类型的东西。开发速度很快,但缺乏强类型使我感到不安。似乎 SQL 注入隐患无处不在,但我被保证只需将引号重复即可避免这种情况。
肯定还有更多的选择,但我不知道它们是什么。你有什么建议吗?