Sql VB6.0中的记录集

Sql VB6.0中的记录集,sql,vb6,recordset,Sql,Vb6,Recordset,我正在使用VB6从记录集中的数据库检索数据。。。因此,在SQL中使用Select检索数据时,我添加了一个名为Comments的列,以便在记录集中,table+'Comments'列的所有列都会出现。。。我不想(也不能)更新数据库中的任何内容,因为我现在只是从数据库中“获取”数据 现在,当我传递获取的数据进行验证时,如果记录集中的特定行是错误的,我想用相应的错误填充“comments”列)。。。。当我这样做的时候,我会收到一个错误,上面写着“我无权这么做!!(更新“评论”栏) 现在我的问题是“我能

我正在使用VB6从记录集中的数据库检索数据。。。因此,在SQL中使用Select检索数据时,我添加了一个名为Comments的列,以便在记录集中,table+'Comments'列的所有列都会出现。。。我不想(也不能)更新数据库中的任何内容,因为我现在只是从数据库中“获取”数据

现在,当我传递获取的数据进行验证时,如果记录集中的特定行是错误的,我想用相应的错误填充“comments”列)。。。。当我这样做的时候,我会收到一个错误,上面写着“我无权这么做!!(更新“评论”栏)

现在我的问题是“我能用什么方法解决这个问题?”…我试图复制这个记录集,现在填充了“注释”列(在复制的记录集中),这又显示了相同的错误…似乎这可能是因为复制的记录集(记录集)只保留了原始记录的属性


你能帮我解决这个问题吗???复制记录集的任何方法(不继承它的属性)?

不完全是你想要的,但我就是这样做的:

  • 创建一个类来封装记录集(“Customer”表的“Customer”类)
  • 将注释属性添加到类而不是记录集
  • 向类添加验证方法。将其写入注释属性(我使用错误集合)
  • 读取记录集
  • 将其解析为“新客户”
  • 证实
  • 检查注释属性(或错误集合)

  • 您可以使用MSDataShape及其
    SHAPE..APPEND
    语法将新字段附加到ADO记录集。下面是使用Jet(又称MS Access)的快速示例:


    我想你只是在问如何处理断开连接的记录集。 为此,只需更改记录集的光标位置

    Dim rstTest as ADODB.RecordSet
    Set rstTest = New ADODB.RecordSet
    With rstTest
       .CursorLocation = adUseClient
       .Open "your sql here", your_connection_object, adOpenStatic, adLockBatchOptimistic, adCmdText
       ' now disconnect it and force the local copy
       .ActiveConnection = Nothing
    End With
    

    “Comments”列不在数据库中…它是我手动添加的(使用select stment)列,用于显示错误(对于recrdset中的错误记录)..你能发布一段检索记录集的代码吗,以及你得到授权错误的代码吗?我不认为类wod工作!!!因为代码较长,wod需要更改很多…替代解决方案(如从一个记录集复制到另一个记录集)???任何1帮助???你告诉我,你不使用类是因为你必须编写代码?你把“验证”、“加载”、“保存”之类的方法放在哪里?我在一个Excel应用程序(Excel工作表)中工作,在其中一个方法(子)中,我编写了1)的全部代码连接到数据库2)填充记录集3)传递用于验证的记录集4)填写记录集中的“注释”列以在记录错误时填写错误5)将此记录集(验证后)绑定到Excel以显示记录。。。。。。。。。。。所以,现在当我试图填写专栏时,我有一个错误,说“我不能那样做”!!!我如何在“评论”栏中写错误?
    Dim rstTest as ADODB.RecordSet
    Set rstTest = New ADODB.RecordSet
    With rstTest
       .CursorLocation = adUseClient
       .Open "your sql here", your_connection_object, adOpenStatic, adLockBatchOptimistic, adCmdText
       ' now disconnect it and force the local copy
       .ActiveConnection = Nothing
    End With