Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将MS Access用作.NET应用程序后端_C#_.net_Ms Access - Fatal编程技术网

C# 将MS Access用作.NET应用程序后端

C# 将MS Access用作.NET应用程序后端,c#,.net,ms-access,C#,.net,Ms Access,我是非IT组织中唯一的.NET开发人员。我被要求使用Microsoft Access作为后端(现有数据库)开发ae.NET应用程序 我不知道从哪里开始 既然我是自己开发的,那么在开发过程中我应该记住什么来避免呢?只有一个开发人员才能面对什么情况 请在回答中包括Microsoft Access特定的建议,因为这与问题密切相关。如果您已经熟悉.NET语言和MS Access,那么我的建议是从开发一个非常简单的MS Access数据库开始,编写一个小型的.NET控制台应用程序,连接到该数据库并执行一些

我是非IT组织中唯一的.NET开发人员。我被要求使用Microsoft Access作为后端(现有数据库)开发ae.NET应用程序

我不知道从哪里开始

既然我是自己开发的,那么在开发过程中我应该记住什么来避免呢?只有一个开发人员才能面对什么情况


请在回答中包括Microsoft Access特定的建议,因为这与问题密切相关。

如果您已经熟悉.NET语言和MS Access,那么我的建议是从开发一个非常简单的MS Access数据库开始,编写一个小型的.NET控制台应用程序,连接到该数据库并执行一些基本功能,例如查询/插入/删除/更新。那么,这只是peice在此基础上构建的一个案例,在途中引入GUI/独立库(DLL)等

不幸的是,对于您来说.NET(ORM)不支持MS Access数据库,因此您必须从头开始开发业务对象(这并不总是一件坏事!)

这是一个很好的起点。

从哪里开始

  • 选择一个开发环境(我建议使用VisualStudio2008Express或Professional,具体取决于预算和对Professional版本功能的需要)
  • 即使对于一个开发者:选择一个版本控制系统(Subversion只有很少的管理开销,对于一个开发人员来说很好)
  • 选择.NET Framework版本(3.5版可以,除非您的应用程序必须在Win2K上运行;对于Win2K,请使用.NET 2.0)
  • 选择一种成熟的编程语言(C#或VB.NET,你或你的老板最喜欢的语言)
  • 选择GUI技术(对于单个开发人员,我建议使用WinForms,除非您要编写Web应用程序或命令行实用程序)
  • 选择一种成熟的数据库访问技术(ADO.NET在很多方面都适用,除非您有非常高的性能要求,可以更好地处理旧的ADO/OleDB或DAO)
  • 编辑:使用谷歌根据choosen技术查找一些入门示例,或者给自己买本书。例如,C#使用OLE DB访问MS access DB。这也是一个很好的起点
  • 编辑2:熟悉“Microsoft Access”(Office应用程序)。并不是因为您将像普通用户一样使用它,而是出于管理目的可能需要它。即使您使用C#或VB.NET编写代码,所包含的VBA和SQL文档有时也会有所帮助
  • EDIT3:出于报告目的,请选择一种报告技术。这里有很多可能性,这取决于你的需求、技能和/或预算等

    • 普通ASCII或CSV报告(手工编码)
    • HTML或XML报告
    • 使用Excel作为报告引擎
    • 使用PDF库,如
    • 使用第三方工具,如Crystal Reports
    例如,当你将“ReportGeneration.net”提交给谷歌时,你会发现很多有用的链接

  • 最后:当你到了问题的关键点时,回到“所以”上来,问一些更具体的问题


    可能存在其他约束,具体取决于组织中已经存在的代码。我会避免使用像
    F#
    、WPF或Linq到实体这样的技术。

    你的问题太模糊了,不能给出更多的一般性建议。如果您已经开发了其他.Net应用程序,那么开发这个新应用程序的方法应该没有什么不同

    数据库注意事项:

    使用MS Access作为后端数据库时,需要记住的唯一事项是:

  • 可扩展性-MS访问不支持 比例非常好,仅适用于 对于少数用户 *编辑:数字因用户执行的活动类型而异-对于报告解决方案,Microsoft自己建议最多可有100个并发用户-这提供了更多信息*
  • 安全性-MS Access不提供相同的复杂级别 你会在这里找到安全感 其他数据库产品(SQL Server、, 甲骨文(MySQL)
  • SQL语法-在使用SQL的方式上有一些细微的差别 为MS编写特定类型的查询 通路

  • 其他限制-MS Access不支持存储过程,因此所有数据访问代码都必须使用内联SQL命令(command.Type=CommandType.Text)
  • Microsoft Access支持的最大数据库大小为2GB—请密切关注数据库的增长
  • 设计注意事项:

  • 现有的MS Access数据库中是否已经有一些用户表单和代码模块?如果是这样,您可以使用这些作为应用程序的基础-MS Access使用Visual Basic for Applications(VBA)作为编程语言,据我所知,没有任何工具/实用程序可以将VBA移植到VB.Net

  • 其他地方是否有类似的应用程序可以帮助您的设计


  • 尽可能将数据访问代码保留在表单之外-尝试将数据访问代码保留在单独的类/DLL中,以便更易于维护

    • 编辑:正如其他人所建议的,尽量避免ADO.Net连接实例和命令对象分散在整个用户界面中-将所有数据库连接代码放在一个类/DLL中,以便更容易修复/维护/替换。出于同样的原因,我还建议将所有SQL查询语句放在单独的类或模块中*
  • 遵循您或您之前的其他人制定的任何内部指南

  • 请记住可维护性-您之后的某个人可能需要进行更改。在代码中使用注释,并为对象(窗体/变量/函数名)指定合理的名称

  • 定期备份代码-每天在网络驱动器或USB驱动器上放置一份副本