对于桌面应用程序,哪一个可以是更好的数据访问组件?为什么?
1。)对于MS Access 2007:ADO,OLEDB,DAO
2.。)对于MSSQL 2005:ADO,OLEDB,DAO
答案 0 :(得分:1)
就他的答案的Access部分而言,我不同意汉斯。
如果您使用的是Access,那么使用DAO或ADO会更好。 DAO是许多人的选择,因为它通常更容易,并且是MSAccess的本机数据访问模型。请查看Is it better to use ADO or DAO in Access 2007?以获得更全面的讨论。
答案 1 :(得分:0)
DAO无可救药地过时,它不支持您列出的引擎。 OLEDB和ADO是互补的,OLEDB提供了dbase引擎接口,ADO是你在代码中用来编程dbase接口的类的抓包。 .NET框架中的ADO.NET。
对于Access,您将使用System.Data.OleDb命名空间中的类,您的连接字符串使用ACE提供程序。对于SQL,您最好使用System.Data.SqlClient命名空间中的类。请访问connectionstrings.com以获取有关配置连接字符串的帮助。
答案 2 :(得分:-2)
问问自己:我需要哪些数据访问功能,并根据它选择您的图层。 MS Access是基于文件的数据存储,因此如果您有多个用户使用您的应用程序,那么Access是一个糟糕的选择。我会避开MSA并专注于新技术。
MSSQL更好,因为它可扩展,支持多个并发用户,并具有其他管理工具,如备份和报告服务。 SQL 2005 Compact Edition允许您在运行时附加数据库,非常适合单实例桌面应用程序。
您可能希望查看的第三个DAC SQLite也适用于基于文件的解决方案或桌面应用程序。