com.microsoft.sqlserver.jdbc.SQLServerException: Falsche syntax in der Nähe '@P0'
Ich habe eine SQL-server-2008-Prozedur, die sich wieder einen out-parameter, den ich nenne, um es von java. Mein code ist unten angegeben
Code gespeicherte Prozedur wird
Create PROCEDURE countInfected @infected int out
AS
Select @infected = COUNT(*) from userInfo
where userID NOT IN (Select userID from deletedInfo);
Java Aufrufende Code ist
CallableStatement infected = null;
infected = con.prepareCall("call countInfected(?)");
infected.registerOutParameter(1, java.sql.Types.INTEGER);
infected.execute();
System.out.println("Infected"+ infected.getInt(1));
aber infiziert.execute(); erzeugt die folgende Fehlermeldung
com.microsoft.sqlserver.jdbc.SQLServerException: Falsche syntax in der Nähe '@P0'
freundlich führe mich, wo ist das problem
- Die Zeile löst den Fehler aus?
- infiziert.execute();
- Das gute für Sie: groups.google.com/forum/#!msg/mybatis-user/DxLHOn8LZU0/... ?? Im Grunde setzen Sie Klammern um, wie diese "{ call countInfected(?) }" (my SQL Server geröstet, so kann ich nicht überprüfen).
- Dank dat-Dateien funktioniert bei mir
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorgeschlagen von dieser link angeboten @GregHNZ, SQL Server erfordert eine Reihe von geschweiften Klammern um den Ruf.
Die Zeile in deinem code würde wie folgt Aussehen: