加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB6记录集代码到VB.Net

发布时间:2020-12-17 07:10:45 所属栏目:百科 来源:网络整理
导读:我正在将VB6 windows应用程序中的某些旧代码更新为VB.Net Web应用程序.我理解旧代码,但我不确定如何将其转换为.Net记录集. myStoredProcedure = "sp_WritevPayrollCurrent" myCurrentPast = "'N'" myStoredProcedure = "sp_ObtainSubClassID" myClassName =
我正在将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的程序员.如果你负担得起,最好重写一下.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读