查詢在Update之后有多少條記錄被更新了﹐可以用@@RowCount函數
但是怎樣在程序沖讀出這個數值呢?請給出代碼。
另外除了這個方法外﹐還有其它方法能查出更新記錄的數目嗎?

解决方案 »

  1.   

    adorecordset.open "update tablea set field1=value1 where XXX select @@rowcount"
    找第0个field的值
      

  2.   

    測試時﹕
        adoRs.Open "update aaa  set aaapd='1' where aaapd='aaa' select @@rowcount as qq", coN
        If Not adoRs.EOF Then     '到這里時候提示錯誤﹕執行階段錯誤'3704'Operation is not allowed whern the object is closed.
            Command1.Caption = ado!qq    
        End If
      

  3.   

    adorecordset有一个属性,叫AffectedRecord之类的吧
      

  4.   

    to zzyx:沒有找到你說的屬性。我用的是VB6.0。
      

  5.   

    对不起,是connection的execute方法有一个参数AffectedRecords,可以返回你要的结果
    不是用recordset建议你使用cn.Execute "update tablea set field1=value1",RowCnt
    执行完毕之后 RowCnt就包含了影响的行数尽管这个方法不是按你的思路来的,但能解决你的问题,
    呵呵
      

  6.   

    经过试验,在查询分析器中是没错的。
    在程序中以前见人这样做过,具体要写什么参数还不是十分清楚。
    可以知道的是recordset执行完update/insert的操作之后就自动关闭了记录集。
    如何操作才能得到结果,还是请高手指教。
      

  7.   

    关键在于没有设set nocount onadorecordset.open "set nocount on " & vbcrlf & 
    "update tablea set field1=value1 where XXX " & vbcrlf & 
    "select @@rowcount",cn