将VB6记录集代码转换为VB.Net。

4

我正在将另一个人的VB6 Windows应用程序更新为VB.Net Web应用程序。我理解旧代码,但我不确定如何将其翻译成.Net记录集。

myStoredProcedure = "sp_WritevPayrollCurrent"
        myCurrentPast = "'N'"
    myStoredProcedure = "sp_ObtainSubClassID"
       myClassName = "Payroll Major"
       mySubClassName = "New Hire"
       Set rs = TgetReadResultsetWithParms(myClassName, mySubClassName, (myStoredProcedure))

此外,我不确定声明两次“myStoredProcedure”会发生什么情况,这可能是一个错误吗?
TgetReadResultsetWithParms函数如下(某些案例已删除以释放空间):
Dim en As rdoEnvironment
Dim cn As rdoConnection
Dim rq As rdoQuery

 rdoDefaultCursorDriver = rdUseServer
'open a connection to the tstdbexecutive database using DSNless connections
Set en = rdoEnvironments(0)
Set cn = connectionstring stuff here
Select Case myStoredProcedure
    'create reusable rdoQuery and Call SQL server stored procedure.
    Case "sp_ObtainClassID"
        Set rq = cn.CreateQuery("", "{call " & cstDatabaseName & ".dbo.sp_ObtainClassID(?)}")
    Case Else
        Set rq = cn.CreateQuery("", "{call " & cstDatabaseName & ".dbo." & myStoredProcedure & "(?)}")
End Select
'set the input argument value for the store procedure.
rq(0) = myParm1
'open the Resultset and pass it back to calling procedure
Set TgetReadResultsetWithParm = rq.OpenResultset(rdOpenKeyset, rdConcurReadOnly)

你使用的是哪种数据库引擎?MS Access?Sql Server?还是其他的? - SSS
1个回答

1
VB6代码使用远程数据对象。我认为你需要阅读文档以了解VB6正在做什么,然后使用ADO.Net重写以实现相同的功能。据我所知,没有方便的备忘单显示RDO与ADO.Net的比较,不幸的是。有一些适用于ADO-ADO.Net。
或者你可以在你的.Net项目中添加对远程数据对象的引用——你可以在.Net中使用COM对象——然后使用相同的代码。如果旧代码量很大,这可能是使任务更可管理的实用方法,尽管它使代码更难理解其他程序员可能会习惯于ADO.Net。如果你能承受,最好重写。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接