Database 在Access 2000中使用带有链接表的数据库或使用ADODB.RecordSet-哪个更好?

Database 在Access 2000中使用带有链接表的数据库或使用ADODB.RecordSet-哪个更好?,database,vb.net,ms-access,visual-studio-2005,ms-access-2000,Database,Vb.net,Ms Access,Visual Studio 2005,Ms Access 2000,我正在用VisualStudio2005将旧的VB6应用程序修改为VB.NET,所有这些应用程序都遇到了相同的问题 其中一种方法是,通过使用带有表链接的access 2000文件访问DB2数据库,第二种方法是使用ADODB.RecordSet与连接字符串SQL查询一起直接运行到数据库 我知道我可以使用Linq,这是适合这份工作的工具,但我现在没有时间学习。我必须尽快完成这项工作 示例: Function selectNA_FromMyTable_ByNA(ByVal na As String)

我正在用VisualStudio2005将旧的VB6应用程序修改为VB.NET,所有这些应用程序都遇到了相同的问题

其中一种方法是,通过使用带有表链接的access 2000文件访问DB2数据库,第二种方法是使用ADODB.RecordSet与连接字符串SQL查询一起直接运行到数据库

我知道我可以使用Linq,这是适合这份工作的工具,但我现在没有时间学习。我必须尽快完成这项工作

示例:

Function selectNA_FromMyTable_ByNA(ByVal na As String) As String
    Dim sql As String = "SELECT na FROM DB2Scheme.MyTable "
    sql = sql & "WHERE (na = '" & na & "')"

    Return sql
End Function

其中DB2Scheme\u MyTable链接到DB2Scheme.MyTable

我不喜欢混合方法,尽管它们都能正常工作

哪种方法更好?


哪种方法更适合调试?例如,如何检测使用应用程序的用户没有权限从方案中的某个表中写入或读取数据?

当然,取消Access数据库将是理想的。我假设在前面的模型中,Access数据库也充当前端?如果您要迁移到.net,那么我不认为保留access数据库有什么意义。直接转到db2数据库,只需注意分发此应用程序时可能需要安装的数据库驱动程序。如果它是一个web应用程序,那么问题就少了


net中的一般错误处理应该揭示用户是否存在访问问题。如果应用程序要使用用户凭据而不是自己的用户id来访问数据库,则可能需要在启动应用程序时预先检查这一点。我不确定在重写应用程序时,这是否应该引起关注,您是否使用了正式应用程序中使用的相同身份验证或登录凭据?

似乎受到高度的意见驱动,但有几件事:VS2005将您限制在不包括linq的NET 2.0。另外,ADONET似乎也是一个重要的升级。如果你可以(而且你可以)避免的话,不要在.net中使用ADODB.RecordSet。我会试试@IvanH:)这里的人都很守旧。新的、更好的技术很难实施
Function selectNA_FromMyTable_ByNA(ByVal na As String) As String
    Dim sql As String = "SELECT na FROM DB2Scheme_MyTable "
    sql = sql & "WHERE (na = '" & na & "')"

    Return sql
End Function