粉红蓝紫 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 & "'",即首尾没有空格,这样可以避免单引号引起的问题。

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

    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统
  • ¥15 快手联盟怎么快速的跑出建立模型