Allereerst even vermelden; IUTFS (I Used The F*cking Search). 
Een hele hoop gevonden, nog meer gelezen, veel wijzer geworden maar mijn probleem blijft.
Het probleem is als volgt. Ik heb een stored procedure op mijn SQL2K bakkie gemaakt, welke een input parameter meekrijgt en een output parameter moet teruggeven.
In de volgende code test ik met @Naam = 7 want daarvan weet ik dat die in de tabel bestaat.
tabel:
UserID numeric
UserName nvarchar
Dit is de StoredProcedure
Dit is de ASP Code
Deze code geeft netjes een username terug, en dit snap ik nog.
Maar eigenlijk wil ik geen getal meesturen maar een string (de username).
Als ik de SP verander
en in de ASP
Dan krijg ik helemaal nix terug, terwijl je het getal 7 (de UserID) zou verwachten.
Ik vermoed dat het iets heel simpels is dat ik over het hoofd zie. Misschien dat een vriendelijke mede-tweaker mij kan helpen?
Een hele hoop gevonden, nog meer gelezen, veel wijzer geworden maar mijn probleem blijft.
Het probleem is als volgt. Ik heb een stored procedure op mijn SQL2K bakkie gemaakt, welke een input parameter meekrijgt en een output parameter moet teruggeven.
In de volgende code test ik met @Naam = 7 want daarvan weet ik dat die in de tabel bestaat.
tabel:
UserID numeric
UserName nvarchar
Dit is de StoredProcedure
code:
1
2
3
4
5
6
7
8
9
| CREATE PROCEDURE SP_UserExists
(
@Naam numeric
)
AS
SELECT UserName
FROM T_User
WHERE UserID = @Naam
GO |
Dit is de ASP Code
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
25
26
27
28
| dim thedate
dim thetime
dim RS
dim ParamID
dim Conn
dim cmdStoredProc
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=SQLOLEDB;Data Source=gx1;" & "Initial Catalog=rcvna
;User Id=sa;Password=abc3652230;" & "Connect Timeout=15;Network Library=dbmssocn;"
' kijken of de username al bestaat
Set cmdStoredProc = Server.CreateObject("ADODB.Command")
cmdStoredProc.ActiveConnection = Conn
cmdStoredProc.CommandText = "SP_UserExists"
cmdStoredProc.CommandType = adCmdStoredProc
set paramid = cmdStoredProc.CreateParameter("@Naam", adVarWChar, adParamInput,12,7)
cmdStoredProc.Parameters.Append paramId
set rs = cmdstoredproc.execute
Response.Write rs.fields("UserName")
set rs = nothing
set paramid = nothing
set cmdStoredProc = nothing
set conn = nothing |
Deze code geeft netjes een username terug, en dit snap ik nog.
Maar eigenlijk wil ik geen getal meesturen maar een string (de username).
Als ik de SP verander
code:
1
2
3
4
5
6
7
8
9
| CREATE PROCEDURE SP_UserExists
(
@Naam nvarchar
)
AS
SELECT UserName
FROM T_User
WHERE UserName = @Naam
GO |
en in de ASP
code:
1
| set paramid = cmdStoredProc.CreateParameter("@Naam", adVarWChar, adParamInput,12,"Jeroen") |
Dan krijg ik helemaal nix terug, terwijl je het getal 7 (de UserID) zou verwachten.
Ik vermoed dat het iets heel simpels is dat ik over het hoofd zie. Misschien dat een vriendelijke mede-tweaker mij kan helpen?
[ Voor 4% gewijzigd door Verwijderd op 06-03-2003 23:01 . Reden: Layout-verneuk-modus uitgezet ]