/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Argumenter til CallableStatement (StoredPr~
Fra : Stefan Kristensen


Dato : 10-07-03 20:30

Hej NG.

Jeg har en StoredProcedure på en M$ SQL Server, hvor der er defineret en
parameter @UserID varchar(8).

Nå jeg så i java prøver at sætte denne parameter, får jeg en
UnsupportedOperationException.

CallableStatement cd connection.prepareCall("{call GetUserData}");
cs.setString("@UserID", userID);
resultSet = cs.executeQueru();

Hvis jeg erstatter "@UserID" med 1, får jeg en NullPointerException i
stedet.
Koden virker fint med procedurer uden argumenter.

Hvordan sætter jeg værdien af en parameter til en procedure?

c",)
Stefan



 
 
Filip Larsen (10-07-2003)
Kommentar
Fra : Filip Larsen


Dato : 10-07-03 20:50

Stefan Kristensen skrev

> Jeg har en StoredProcedure på en M$ SQL Server, hvor der er defineret en
> parameter @UserID varchar(8).
>
> Nå jeg så i java prøver at sætte denne parameter, får jeg en
> UnsupportedOperationException.
>
> CallableStatement cd connection.prepareCall("{call GetUserData}");
> cs.setString("@UserID", userID);
> resultSet = cs.executeQueru();
>
> Hvis jeg erstatter "@UserID" med 1, får jeg en NullPointerException i
> stedet.
> Koden virker fint med procedurer uden argumenter.
>
> Hvordan sætter jeg værdien af en parameter til en procedure?

Så vidt jeg husker skal du skrive det som

CallableStatement cs = connection.prepareCall("call GetUserData(?)");
cs.setString(1, userID);
...

dvs. med et ?-tegn for hver parameter du ønsker at sætte.


--
Filip Larsen



Filip Larsen (10-07-2003)
Kommentar
Fra : Filip Larsen


Dato : 10-07-03 21:06

Jeg skrev

> CallableStatement cs = connection.prepareCall("call GetUserData(?)");

Ups, jeg glemte tuborg-parenteserne:

CallableStatement cs = connection.prepareCall("{call GetUserData(?)}");



--
Filip Larsen



Stefan Kristensen (10-07-2003)
Kommentar
Fra : Stefan Kristensen


Dato : 10-07-03 21:16


> Så vidt jeg husker skal du skrive det som
>
> CallableStatement cs = connection.prepareCall("call GetUserData(?)");
> cs.setString(1, userID);
> ...
>
> dvs. med et ?-tegn for hver parameter du ønsker at sætte.
Yep, det var sådan.
Mange tak.

Stefan



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste