4

当没有现成的替代方案时,我所在的公司编写自己的业务数据应用程序。最常见的是 - 登录屏幕 - 一些主要是 SQL Server 表的可视化的屏幕 - 一些报告

过去他们使用的是 MS Access。这些并不完全是最优秀的编码人员,但他们大多了解如何构建数据库以及他们想要的 UI。

我们宁愿有一个通用的登录屏幕、菜单屏幕等,我们可以插入应用程序并开始使用。这应该有助于提高开发速度和可维护性。

当然,有不止一种方法可以做到这一点,我们问题的核心似乎是数据访问。选项似乎包括:

1) GUI 数据集/表适配器,如 ASP.NET 上的视频,向您展示了如何做。我们中的一些人已经做了很多这样的事情。有利于开发速度。有时数据连接会在您不注意的情况下发生变化。巨大的方法签名(插入或更新时每个字段一个参数)很容易出错。有时参数检测不正确。动态参数(例如带有可选过滤器的报告)非常困难。

2) 极其结构化的 n 层样式。例如,网格的数据源是对象的集合。表示层调用对象 A 中的静态方法,该方法调用数据访问层方法,该方法为从数据库返回的每一行实例化 A。A 需要为表中的每个字段提供 get/set 方法以及内部变量和构造函数变量。每个字段都被输入了很多次。没有什么是永远的。对于这么简单的应用程序可能有点矫枉过正。

3) 通用表使用通用函数驱动所有内容,这些函数循环遍历字段列表以动态创建 UPDATE 和 INSERT 语句。选择主要是 SELECT * 类型的东西。快速发展,但缺乏强大的打字让我感到害怕。似乎 SQL 注入地雷无处不在,但我确信加倍引号是避免这种情况所需要的。

那里肯定有更多选择,但我不知道它们是什么。您对我/我们有什么建议吗?

4

6 回答 6

5

你看过动态数据吗?对于几乎没有时间投入的漂亮、干净的 DB CRUD 解决方案来说,这真是太棒了(如果数据库结构正确的话)。

您可以添加登录屏幕或仅使用 Windows 集成身份验证以保持一致性。

此外,学习曲线几乎没有。我在观看介绍视频的 20 分钟内完成了我的第一个站点,它非常简单,即使是最基本的初学者级程序员也能做到。

于 2010-03-04T03:59:33.473 回答
3

你见过ASP.NET 动态数据吗?

于 2010-03-04T04:00:57.527 回答
2

在我看来,您正在寻找某种脚手架工具。那里有很多。SubSonic 肯定有一个。

这是来自 MSDN 的链接

于 2010-03-04T03:58:14.490 回答
1

1 & 2) 查看ASP.NET MVC

3)查看LINQ to SQL

于 2010-03-04T03:58:08.493 回答
0

表适配器很古老。并不是说它们仍然没有用,但我不会在没有充分理由的情况下亲自使用它们。 Linq to SQL正是为这种快速发展而生的。设置起来比数据集快得多,也更容易查询和更新。

还有实体框架和 NHibernate,但它们更多地针对更大的以域为中心的应用程序,而不是快速和肮脏的数据访问/更新。

于 2010-03-04T03:56:49.010 回答
0

在这种情况下,您的问题似乎完全解决了数据访问问题,并且您提到了 .NET 空间中相当陈旧的方法。

您看过LINQ-to-SQLLINQ-to-Entities吗?这两种技术都可以解决您的大部分问题,如果您不使用基于 SQL-Server 的后端,则后者是两者的唯一解决方案。

于 2010-03-04T03:57:08.823 回答