你的存储过程这样写只能得到一个返回值,是无法得到结果集的,按下面这样修改:
CREATE PROCEDURE prcReadAttend_BlackList
@NetID smallint, @NodeID smallint
as
select CardID
from Attend_BlackList
where Attend_BlackList.NetID=@NetID and Attend_BlackList.NodeID=@NodeID
GOData Environment没用过,给你一段ADO的例子供参考:
Option ExplicitPrivate Sub Form_Load()
Form1.AutoRedraw = True
Dim Sc As String, Result As String
Dim Cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim Rs As New ADODB.Recordset
Dim A(5) As String, B(5) As String
Dim i As Integer
i = 0
Sc = "Driver={SQL Server}; Server=(local);Uid=sa;pwd=;database=Employees"
Cn.Open Sc
With cmd
.ActiveConnection = Cn
.CommandType = adCmdStoredProc
.CommandText = "proc_aa"
.Parameters("@T_no") = "2002" '输入参数值
End With
Set Rs = cmd.Execute()
Do While Not Rs.EOF
A(i) = Rs("T_no") '取结果集
B(i) = Rs("Mod") 'T_no和Mod均为表aa中的字段
Rs.MoveNext
i = i + 1
Loop
Rs.Close
Set Rs = Nothing
Set Cn = Nothing
For i = 0 To UBound(A) '显示结果
Print A(i) & " " & B(i)
Next i
End Sub存储过程代码:
CREATE PROCEDURE proc_aa
@T_no char(4)
AS
select T_no, Mod from aa where T_no = @T_no
CREATE PROCEDURE prcReadAttend_BlackList
@NetID smallint, @NodeID smallint
as
select CardID
from Attend_BlackList
where Attend_BlackList.NetID=@NetID and Attend_BlackList.NodeID=@NodeID
GOData Environment没用过,给你一段ADO的例子供参考:
Option ExplicitPrivate Sub Form_Load()
Form1.AutoRedraw = True
Dim Sc As String, Result As String
Dim Cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim Rs As New ADODB.Recordset
Dim A(5) As String, B(5) As String
Dim i As Integer
i = 0
Sc = "Driver={SQL Server}; Server=(local);Uid=sa;pwd=;database=Employees"
Cn.Open Sc
With cmd
.ActiveConnection = Cn
.CommandType = adCmdStoredProc
.CommandText = "proc_aa"
.Parameters("@T_no") = "2002" '输入参数值
End With
Set Rs = cmd.Execute()
Do While Not Rs.EOF
A(i) = Rs("T_no") '取结果集
B(i) = Rs("Mod") 'T_no和Mod均为表aa中的字段
Rs.MoveNext
i = i + 1
Loop
Rs.Close
Set Rs = Nothing
Set Cn = Nothing
For i = 0 To UBound(A) '显示结果
Print A(i) & " " & B(i)
Next i
End Sub存储过程代码:
CREATE PROCEDURE proc_aa
@T_no char(4)
AS
select T_no, Mod from aa where T_no = @T_no
With DE1.Commands("PrcReadAttend_BlackList")
.Parameters("NetID") = AttendIni.NetID
.Parameters("NodeID") = NodeID
Set rstBlack = .Execute
End With
iBlackCount = rstBlack.RecordCount存储过程代码如下:CREATE PROCEDURE prcReadAttend_BlackList
@NetID smallint, @NodeID smallint
as
select Attend_BlackList.CardID
from Attend_BlackList
where Attend_BlackList.NetID=@NetID and Attend_BlackList.NodeID=@NodeID
GO请高手帮忙解决
set datagrid=数据环境名
这可能是数据环境的一个BUG吧