Asp.net 将经典vb转换为vb.net

Asp.net 将经典vb转换为vb.net,asp.net,vb.net,Asp.net,Vb.net,在vb中,recordset.UnderlineValue和recordset.value的vb.net等效项或类似项是什么 我正在将一个vb应用程序转换为vb.net,我已经用数据集替换了记录集,但我还没有弄明白这一点。任何帮助都将不胜感激 我曾尝试复制数据集并比较值以跟踪更改,但这似乎不是很有效。这是一段我正试图转换的代码 For Each fld In rs.Fields bfldChanged = False Select Case fld.Type

在vb中,recordset.UnderlineValue和recordset.value的vb.net等效项或类似项是什么

我正在将一个vb应用程序转换为vb.net,我已经用数据集替换了记录集,但我还没有弄明白这一点。任何帮助都将不胜感激

我曾尝试复制数据集并比较值以跟踪更改,但这似乎不是很有效。这是一段我正试图转换的代码

For Each fld In rs.Fields
        bfldChanged = False
        Select Case fld.Type
            Case adDate, adDBDate, adDBTime, adDBTimeStamp:                    
                If IsDate(fld.UnderlyingValue) And Not IsDate(fld.Value) Then
                    bfldChanged = True
                ElseIf Not IsDate(fld.UnderlyingValue) And IsDate(fld.Value) Then
                    bfldChanged = True
                ElseIf IsDate(fld.UnderlyingValue) And IsDate(fld.Value) Then
                    If fld.UnderlyingValue <> fld.Value Then
                        bfldChanged = True
                    Else
                        bfldChanged = False
                    End If
                Else
                    bfldChanged = False
                End If
            Case Else:
                If (fld.UnderlyingValue <> fld.Value) Then
                    bfldChanged = True
                Else
                    bfldChanged = False
                End If
        End Select
Next
rs.字段中每个fld的

bfldChanged=False
选择案例fld.Type
案例地址、地址、地址时间、地址时间戳:
如果是IsDate(fld.参考值)而不是IsDate(fld.值),则
bfldChanged=True
否则,如果不是IsDate(fld.参考值)和IsDate(fld.值),则
bfldChanged=True
ElseIf IsDate(fld.参考值)和IsDate(fld.值),然后
如果fld.参考值fld.值,则
bfldChanged=True
其他的
bfldChanged=False
如果结束
其他的
bfldChanged=False
如果结束
其他情况:
如果(fld.underyingValue fld.Value),则
bfldChanged=True
其他的
bfldChanged=False
如果结束
结束选择
下一个

没有与该特定属性等效的属性。NET中的数据访问与VB6和更早版本中的数据访问非常不同。DataTable与记录集只有一点点相似

但是,看看代码,您似乎只是在检查表是否包含更改。您可以使用该方法更简单地确定这一点


不是官方答案的一部分,而是一般性建议


我已经将大量VB6应用程序转换为.NET应用程序,经验告诉我,逐行转换几乎总是一个坏主意。这两种方法完全不同,而且在任何情况下,从头开始都被证明是更有效、更安全的方法。确保我了解VB6应用程序的功能(要求),将其全部映射出来,绘制出所有内容的流程图,然后从头开始构建.NET版本。我做这件事除了头疼之外,什么都没有。

没有任何东西能与这个特殊的属性相媲美。NET中的数据访问与VB6和更早版本中的数据访问非常不同。DataTable与记录集只有一点点相似

但是,看看代码,您似乎只是在检查表是否包含更改。您可以使用该方法更简单地确定这一点


不是官方答案的一部分,而是一般性建议


我已经将大量VB6应用程序转换为.NET应用程序,经验告诉我,逐行转换几乎总是一个坏主意。这两种方法完全不同,而且在任何情况下,从头开始都被证明是更有效、更安全的方法。确保我了解VB6应用程序的功能(要求),将其全部映射出来,绘制出所有内容的流程图,然后从头开始构建.NET版本。我做这件事时除了头痛之外什么都没有。

经历这个过程常常说明COM等人有多少被VB6蒙蔽了,这也常常妨碍你在过渡过程中真正获得VB.NET的一些好处。谢谢你给我指明了正确的方向。我在datatable.getchanges()上做了一个小测试,它似乎正是我所需要的。我同意你们两位的观点,即最好从新开始,而不是尝试逐行转换。我刚开始使用.NET,项目截止日期的压力似乎让我陷入了糟糕的编程实践中。但我会努力在这方面做得更好。这很有道理。谢谢你,小伙子,这很有帮助。祝你好运也欢迎来到.NET。一旦你克服了数据访问中的差异,这实际上不是一个学习曲线。只是偶然发现了这个数据行(“列名/索引”,DataRowVersion.Original)。。我可以在上面的场景中使用它吗?通过这个过程通常可以说明COM等人有多少被隐藏在VB6的保护之下,这通常也会阻止您在转换过程中真正获得VB.NET的一些好处。谢谢您为我指明了正确的方向。我在datatable.getchanges()上做了一个小测试,它似乎正是我所需要的。我同意你们两位的观点,即最好从新开始,而不是尝试逐行转换。我刚开始使用.NET,项目截止日期的压力似乎让我陷入了糟糕的编程实践中。但我会努力在这方面做得更好。这很有道理。谢谢你,小伙子,这很有帮助。祝你好运也欢迎来到.NET。一旦你克服了数据访问中的差异,这实际上不是一个学习曲线。只是偶然发现了这个数据行(“列名/索引”,DataRowVersion.Original)。。我可以在上面的场景中使用它吗?