将SQL查询结果分配给变量

将SQL查询结果分配给变量,sql,vb6,Sql,Vb6,目前我正在从事一个vb6.0项目,并使用SQLExpress作为我的后端数据库服务器。 我编写了以下查询以获取每个部门的员工数量,该查询在SQLServer的查询窗口中成功运行并返回所需结果。我试图在我的VB6.0表单中使用相同的查询,并在一个局部变量(比如Temp)中获得结果 但我无法将查询结果分配给变量Temp。我感到震惊,无法前进 SQL = "select dbo.tbl_employee_master.dept_id, COUNT(emp_id) as '# of employees'

目前我正在从事一个vb6.0项目,并使用SQLExpress作为我的后端数据库服务器。 我编写了以下查询以获取每个部门的员工数量,该查询在SQLServer的查询窗口中成功运行并返回所需结果。我试图在我的VB6.0表单中使用相同的查询,并在一个局部变量(比如Temp)中获得结果

但我无法将查询结果分配给变量Temp。我感到震惊,无法前进

SQL = "select dbo.tbl_employee_master.dept_id, COUNT(emp_id) as '# of employees' from dbo.tbl_employee_master where dbo.tbl_employee_master.dept_id IN ( select dbo.tbl_employee_master.dept_id from dbo.tbl_employee_master Group BY dbo.tbl_employee_master.dept_id HAVING dbo.tbl_employee_master.dept_id = '" & cmb_dept.Text & "') Group BY dbo.tbl_employee_master.dept_id"

connectDB
Dim Temp As String
Temp = RS.GetString
lbl_last_id.Caption = Temp
connClose
txt_emp_code.Text = lbl_comp_short.Caption & "-" & lbl_dept_short_form.Caption & "-" & lbl_last_id.Caption

我在组合框LostFocus事件中编写上述代码,这样当用户从下拉列表中选择一个部门并移动到表单上的下一个字段时,上面的查询就会执行,并获取该特定部门的员工人数。

,只需对记录集属性进行少量处理,我可以获取每个部门的员工人数,如下所示

SQL = "select COUNT(emp_id) as '# of employees' from dbo.tbl_employee_master where dbo.tbl_employee_master.dept_id IN ( select dbo.tbl_employee_master.dept_id from dbo.tbl_employee_master Group BY dbo.tbl_employee_master.dept_id HAVING dbo.tbl_employee_master.dept_id = '" & cmb_dept.Text & "') Group BY dbo.tbl_employee_master.dept_id"
connectDB
Dim Temp As String
Temp = RS.GetString
lbl_last_id.Caption = Temp

connClose
txt_emp_code.Text = lbl_comp_short.Caption & "-" & lbl_dept_short_form.Caption & "-" & lbl_last_id.Caption
如果您注意到,我对SQL查询也做了一些轻微的更改,因此它只返回记录数,在Recordset.GetString的帮助下,将相同的记录分配给变量

Temp = RS.GetString

感谢您的评论@c-pound Guru和jac

表明SQL不足以帮助您。在执行sql并尝试将结果应用于
Temp
的位置添加vb6代码的问题。如果显示代码,可能会有人向您显示错误。一般答案是,
intVariable=recordset.Fields(0)。Value
。代码已更新,请检查