粉红蓝紫 2019-04-13 19:13 采纳率: 0%
浏览 365

SQL有数据,vb成功连上SQL,但为什么Adodc1.Recordset.RecordCount=0?

请各位大神抽出一分钟,帮忙看下问题在哪呢?

问题描述

**用vb写“用户管理”窗体,“注册用户”运行正常,注册了名叫lucy的用户,然后点击“删除现有用户”删除lucy,
**

图片说明

**
显示Adodc1.Recordset.RecordCount=0?**
图片说明

** 提示“当前数据库没有可删除的用户信息”**

图片说明

可lucy用户是我刚刚才注册的用户,查看SQL也确实有lucy的数据,
为什么Adodc1.Recordset.RecordCount=0?

图片说明

详细代码

'删除现有用户的确定事件
Private Sub CmdSure2_Click()
   rtn = SetWindowPos(Me.hwnd, -2, 0, 0, 0, 0, 3) '取消置前
   '禁止删除当前用户
   If Combo1.Text = Name1 Then
      MsgBox "不能删除当前用户", vbInformation, "系统提示"
   Else
      a = MsgBox("您确定要删除该用户吗?", vbCritical + vbOKCancel, "系统提示")
      If a = vbOK Then
          '查询数据库,并将结果放进Adodc1.RecordSource中
          Adodc1.RecordSource = "select * from tb_enter where vchUserName = ' " & Combo1.Text & " '  "
          Adodc1.Refresh '刷新
           '语法没问题,但是不会执行到这一步,无法删除用户信息
          MsgBox Adodc1.Recordset.RecordCount  '查看记录集的记录条数
          If Adodc1.Recordset.RecordCount > 0 Then
             Adodc1.Recordset.Delete  '删除记录集中的数据
             Adodc1.Refresh
             MsgBox "用户信息删除成功", vbExclamation, "系统提示"
             Unload Me
          Else
             MsgBox "当前数据库没有可删除的用户信息"
          End If
      End If
    End If
End Sub

望各位大神不吝赐教呀!!!谢谢啦

  • 写回答

1条回答

  • 憧憬blog 2023-03-15 08:02
    关注

    根据你提供的代码和截图,可能是因为 SQL 查询语句中的单引号有问题,导致无法正确检索到数据,进而 Adodc1.Recordset.RecordCount 的值为 0。

    在 SQL 查询语句中,vchUserName = ' " & Combo1.Text & " ' 最前面和最后面的单引号前后都有空格,在实际查询时会导致无法正确匹配字符串。

    你可以将查询语句修改为 vchUserName = '" & Combo1.Text & "'",即首尾没有空格,这样可以避免单引号引起的问题。

    另外,检查一下数据库连接和数据表的权限,确保可以正确访问数据库和数据表。

    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程