我正在将VB6 windows应用程序中的某些旧代码更新为VB.Net Web应用程序.我理解旧代码,但我不确定如何将其转换为.Net记录集. myStoredProcedure = "sp_WritevPayrollCurrent" myCurrentPast = "'N'" myStoredProced
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的程序员.如果你负担得起,最好重写一下.
