当前位置 : 主页 > 编程语言 > c语言 >

VB6记录集代码到VB.Net

来源:互联网 收集:自由互联 发布时间:2021-06-24
我正在将VB6 windows应用程序中的某些旧代码更新为VB.Net Web应用程序.我理解旧代码,但我不确定如何将其转换为.Net记录集. myStoredProcedure = "sp_WritevPayrollCurrent" myCurrentPast = "'N'" myStoredProced
我正在将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)
VB6代码使用远程数据对象.我想你必须阅读 the documentation以了解VB6正在做什么,然后使用ADO.Net在VB.Net中重写以实现相同的功能. AFAIK没有方便的备忘单,显示RDO与ADO.Net的比较,遗憾的是. ADO-ADO.Net有 some.

或者,您可以在.Net项目中添加对远程数据对象的引用 – 您可以在.Net中使用COM对象 – 然后使用相同的代码.如果存在大量旧代码,这可能是一种实用的方法,可以使任务更易于管理,尽管这使得代码更难理解其他可能习惯于ADO.Net的程序员.如果你负担得起,最好重写一下.

网友评论