繁体   English   中英

C#Winforms作为访问的前端

[英]C# winforms as front-end for access

我正处于基于Access db构建Winform C#应用程序的早期阶段(出于不同的原因,不能使用其他类型的DB)。 我的主要问题是如何设计数据库,因为数据量巨大(基于每日数据),并且它将在一个月左右的时间内填满其大小限制。 我曾想为每个月创建一个新的数据库,但是如何才能比较不同数据库之间的数据,例如,几个月之间的数据呢? 我希望C#应用程序执行查询。 有教程,书籍吗? 我没有使用和链接前端和后端Access的经验。

有任何想法吗? 谢谢!

您可能不希望听到此消息,但是如果事先知道您将在一个月后达到Access的大小限制,那么以MS Access作为后端启动项目并不是一个好主意。

您在评论中说:

由于以下原因,我无法使用Access:1. SQL Server的高成本。 2.我对SQL Server不熟悉。 3. SQL Server Express(免费版)也有大小限制,尽管更大(10gb)。 是否有其他免费且没有大小限制的数据库? 是否有其他免费的数据库

我同意您的观点,SQL Server并不是一个好的解决方案-高价格和大小限制是对SQL Server(完整版和Express Edition)的有效论据。

因此,我认为使用唯一的数据库引擎是这里唯一的真正解决方案。
您对SQL Server第三个理由是:“我不熟悉”,但我强烈建议你熟悉比访问其它数据库引擎,因为在你的情况(大小限制!!!)使用Access将是一个痛苦从长远来看。
(所有nitpickers的注意事项:不,我一般不抨击Access-我自己以此为生。
但是,它有其局限性,当您提前知道您将在一个月内达到其大小限制时,在此处使用它不是一个好主意。)

是的,您可以每月进行一些破解并使用不同的Access数据库,但是一旦您的用户需要一次加载几个月后的数据,或者您的老板要求您一次加载数据,您就会感到非常痛苦。 “关于最近三年我们的销售的快速报告” :-)

但是您可以使用其他数据库引擎。 是的,您将需要花费时间来熟悉它,学习如何设置它,等等。
但是请相信我,从长远来看,它会有所回报,因为您不必每月处理一个数据库文件的麻烦。

有许多免费且功能强大的数据库引擎可用,最著名的是:

要连接到MS Access数据库,可以使用此处显示的代码,然后可以在C#前端中“联接”数据。

但是,您可能最终会用C#编写数据库引擎的子集,而我完全支持Bernard和Bryan提供的注释。

您的数据库设计应与您的前端技术决策区分开来,反之亦然。 请参阅多层体系结构

使用多层体系结构将帮助您将表示形式与业务逻辑与数据访问分开,从而允许您以模块化和健壮的方式设计和实现这些组件。

来自webopedia的图表

搜索N层体系结构或多层体系结构将发现大量信息,并有助于实现多层解决方案以及为什么要麻烦一下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM