本帖最后由 Denessa 于 2014-07-04 16:15:54 编辑

解决方案 »

  1.   

    你给的是 SELECT 语句,不能理解所谓的 删除可以执行/不能执行。
      

  2.   

    删除语句我只是没贴出来,问题在于用下面精确查找,rs open之后,recordcount为0,导致无法删除
      

  3.   

    删除语句我只是没贴出来,问题在于用下面精确查找,rs open之后,recordcount为0,导致无法删除当然recordcount是0表示没有记录集,如何删除?先确保select语句正确
      

  4.   


    当然recordcount是0表示没有记录集,如何删除?先确保select语句正确
    请问下面那句哪里有错误?
      

  5.   

    把得到的SQL在立即窗口中显示一下,然后再复制到数据库里执行确认是否正确。空格回车键可能导致你这种问题
      

  6.   

    我把代码都贴上吧,大家帮我分析分析
    On Error Resume Next
    If rs3.State = adStateOpen Then rs3.Close
    SQL = "select * from 报价单 where 物资名称= '" & CStr(Text1(0).Text) & "'"
    ‘SQL = "select * from 报价单 where 物资名称 Like '%" & Text1(0).Text & "%'"
    rs3.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    Text4.Text = rs3.RecordCount
          If rs3.RecordCount > 0 Then
           msg = MsgBox("删除该条记录吗?", vbYesNo)
            If msg = vbYes Then
            rs3.Delete
            End If
           End If
    现在问题是rs3.RecordCount根本没有返回值,连0都不是,而用注释掉的那句代码却可以正常执行,到底哪里有错误啊
      

  7.   

    现在我把 on error resume next去掉之后报错数据类型text和varchar在equal to运算符中不兼容,数据类型是TEXT,小弟第一次用SQL,这程序是我以前ACCESS程序改的,大家帮我看看呐
      

  8.   

    刚百度了一下,解决了,结贴了,谢谢大家
    text类型查询时不支持=,可以支持like,nvarchar(max)数据类型是新类型,长度与text相等
    操作text类型的函数很特殊,所以自新版本以来,一般大数据类型都定义为max,弃用text