Ik heb een sp die een Output parameter retourneert én een Recordset (indien er records aanwezig zijn).
Het probleem van deze code is dat de sp 2x aangeroepen wordt.
Een andere optie:
Maar deze valt over objRS.eof: Operation is not allowed when the object is closed. (Ik krijg nl. niet altijd een Recordset terug).
Ik heb gelezen dat ik bij een Output parameter én Recordset altijd eerst de Recordset moet uitlezen en closen voordat ik de Output parameter controleer. Maar als de Recordset er niet is kom ik niet zo ver...
Ik hoor graag jullie suggesties.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| 'COMMAND
Set comUser = Server.CreateObject("ADODB.Command")
With comUser
.CommandText = "spUserGet"
.CommandType = 4 'Type : stored procedure
.ActiveConnection = conn.ConnectionString
End With
'PARAMETERS
Set paraError = comUser.CreateParameter("@ErrorCode", 3, 2)
comUser.Parameters.Append paraError
'PARAMETERS INPUT
comUser.Parameters.Append comUser.CreateParameter("@Login", 200, 1, 50, Login)
comUser.Parameters.Append comUser.CreateParameter("@Password", 200, 1, 50, Password)
'EXECUTE COMMAND
comUser.Execute
if paraError.Value = 0 Then
Set objRS = comUser.Execute
' RECORDSET GEBRUIKEN
else
' FOUTMELDING TONEN
end if |
Het probleem van deze code is dat de sp 2x aangeroepen wordt.
Een andere optie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| 'COMMAND
Set comUser = Server.CreateObject("ADODB.Command")
With comUser
.CommandText = "spUserGet"
.CommandType = 4 'Type : stored procedure
.ActiveConnection = conn.ConnectionString
End With
'PARAMETERS
Set paraError = comUser.CreateParameter("@ErrorCode", 3, 2)
comUser.Parameters.Append paraError
'PARAMETERS INPUT
comUser.Parameters.Append comUser.CreateParameter("@Login", 200, 1, 50, Login)
comUser.Parameters.Append comUser.CreateParameter("@Password", 200, 1, 50, Password)
'EXECUTE COMMAND
Set objRS = comUser.Execute
dim arData
if not objRS.eof then
arData = objRS.GetRows
end if
objRS.close |
Maar deze valt over objRS.eof: Operation is not allowed when the object is closed. (Ik krijg nl. niet altijd een Recordset terug).
Ik heb gelezen dat ik bij een Output parameter én Recordset altijd eerst de Recordset moet uitlezen en closen voordat ik de Output parameter controleer. Maar als de Recordset er niet is kom ik niet zo ver...
Ik hoor graag jullie suggesties.