w1024xtl 2021-06-29 15:50 采纳率: 100%
浏览 85
已结题

VB中将sql查询语句的值赋值给变量?

Private sqlcon As New ADODB.Connection
Private sqlres As New ADODB.Recordset
Private sqlcmd As New ADODB.Command
Private Sub login_Click()
Dim u1, p1 As String
Dim sqlstr As String
u1 = user.Text
p1 = password.Text
sqlstr = "SELECT password1 FROM login1 WHERE user1='" + p1 + "'"
If (sqlstr = p1) Then
MsgBox ("登陆成功")
Else
MsgBox ("登录失败")
End If
End Sub

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-14 21:19
    关注

    根据你提供的代码,我了解到你想通过VB来查询数据库中的值,并将结果赋值给变量进行后续操作。在你的代码中,你已经创建了一个ADODB连接和命令对象,并且在点击登录按钮时,定义了两个变量u1和p1来分别存储用户输入的用户名和密码。同时,你也构造了一个查询语句sqlstr来从login1表中查询对应用户名的密码。

    但是,在你的代码中,对连接对象和命令对象并没有进行相关的配置和执行操作。因此,我建议你在login_Click事件中增加以下代码:

    sqlcon.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = your_database_path" '替换your_database_path为你的数据库路径

    sqlcon.Open '打开连接

    With sqlcmd '设置命令对象

    Set .ActiveConnection = sqlcon '指定连接
    
    .CommandType = adCmdText '指定命令类型
    
    .CommandText = sqlstr '指定查询语句
    

    End With

    Set sqlres = sqlcmd.Execute() '执行查询命令

    如果查询成功,你可以通过以下代码将查询结果赋值给变量:

    If sqlres.EOF = False Then '判断是否查询到结果

    p1 = sqlres.Fields("password1").Value '获取查询到的密码值
    

    End If

    最后,记得在适当的位置关闭连接对象和释放资源:

    sqlres.Close

    Set sqlres = Nothing

    sqlcon.Close

    Set sqlcon = Nothing

    希望我的回答对你有所帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月7日
  • 已采纳回答 4月29日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘