将 SQL 中的选定值打印到文本框 VB6

发布于 2025-01-11 11:33:14 字数 464 浏览 0 评论 0原文

我正在尝试打印 VB6 中的查询中选定的值,这是我的代码

dim query as string
dim stsstring as string
dim rs as adobd.recordset
query = "select status from x where y='"& randomString &"'"
set rs = mainmodule.dbutils.dbconnection.connection.execute(query)
set rs = nothing
stsstring = rs.fields("status")
msgbox stsstring

,我在这里收到错误

stsstring = rs.fields("status")

未设置对象变量或块变量

提前致谢!

I am trying to print the selected value from a query in VB6 this is my code

dim query as string
dim stsstring as string
dim rs as adobd.recordset
query = "select status from x where y='"& randomString &"'"
set rs = mainmodule.dbutils.dbconnection.connection.execute(query)
set rs = nothing
stsstring = rs.fields("status")
msgbox stsstring

I get error here

stsstring = rs.fields("status")

Object variable or with block variable not set

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不可一世的女人 2025-01-18 11:33:14

在尝试从中读取状态字段之前,您已将 rs 设置为空。重新排序您的代码以读取:

'...
stsstring = rs.fields("status")
set rs = nothing
msgbox stsstring

You've set rs to nothing before trying to read the status field from it. Re-order your code to read:

'...
stsstring = rs.fields("status")
set rs = nothing
msgbox stsstring
电影里的梦 2025-01-18 11:33:14

以下两种方法都有效,但为了完全安全起见:

set rs = mainmodule.dbutils.dbconnection.connection.execute(query)
if not (rs.BOF And rs.EOF) then
   rs.MoveFirst
   Do While Not rs.EOF
      If Not IsNull(rs("status").value)
         stsstring = rs("status").value
         Debug.Print stsstring
      Else
         Debug.Print "Column 'status' is NULL."
      End If
      rs.MoveNext
   Loop
end if

If Not rs Is Nothing Then
   If rs.State > adStateClosed Then
      Call rs.Close()
   End If
   Set rs = Nothing
End If

规避字符串的 If Not IsNull() 条件的一个简单方法是使用 stsstring = vbNullString & rs("状态").value

Both of the below work, but to be completely on the safe side:

set rs = mainmodule.dbutils.dbconnection.connection.execute(query)
if not (rs.BOF And rs.EOF) then
   rs.MoveFirst
   Do While Not rs.EOF
      If Not IsNull(rs("status").value)
         stsstring = rs("status").value
         Debug.Print stsstring
      Else
         Debug.Print "Column 'status' is NULL."
      End If
      rs.MoveNext
   Loop
end if

If Not rs Is Nothing Then
   If rs.State > adStateClosed Then
      Call rs.Close()
   End If
   Set rs = Nothing
End If

An easy way to circumvent the If Not IsNull() condition for strings is to use stsstring = vbNullString & rs("status").value

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文