我正在将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的程序员.如果你负担得起,最好重写一下.