Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
JDBC-stuurprogramma downloaden
Als u gegevens in een SQL Server-database wilt wijzigen met behulp van een opgeslagen procedure, biedt het Microsoft JDBC-stuurprogramma voor SQL Server de klasse SQLServerCallableStatement . Met behulp van de klasse SQLServerCallableStatement kunt u opgeslagen procedures aanroepen die gegevens wijzigen die zich in de database bevinden en een telling retourneren van het aantal betrokken rijen, ook wel het aantal updates genoemd.
Nadat u de aanroep naar de opgeslagen procedure hebt ingesteld met behulp van de klasse SQLServerCallableStatement, kunt u de opgeslagen procedure aanroepen met behulp van de methode execute of executeUpdate . De methode executeUpdate retourneert een int-waarde die het aantal rijen bevat dat wordt beïnvloed door de opgeslagen procedure, maar de uitvoeringsmethode niet. Als u de uitvoeringsmethode gebruikt en het aantal rijen wilt ophalen dat wordt beïnvloed, kunt u de getUpdateCount-methode aanroepen nadat u de opgeslagen procedure hebt uitgevoerd.
Opmerking
Als u wilt dat het JDBC-stuurprogramma alle updateaantallen retourneert, inclusief het aantal updates dat wordt geretourneerd door triggers die mogelijk zijn geactiveerd, stelt u de eigenschap lastUpdateCount-verbindingsreeks in op 'false'. Zie De verbindingseigenschappen instellen voor meer informatie over de eigenschap lastUpdateCount.
Maak bijvoorbeeld de volgende tabel en opgeslagen procedure en voeg ook voorbeeldgegevens in de voorbeelddatabase AdventureWorks2025 in:
CREATE TABLE TestTable
(Col1 int IDENTITY,
Col2 varchar(50),
Col3 int);
CREATE PROCEDURE UpdateTestTable
@Col2 varchar(50),
@Col3 int
AS
BEGIN
UPDATE TestTable
SET Col2 = @Col2, Col3 = @Col3
END;
INSERT INTO dbo.TestTable (Col2, Col3) VALUES ('b', 10);
In het volgende voorbeeld wordt een open verbinding met de voorbeelddatabase AdventureWorks2025 doorgegeven aan de functie, wordt de uitvoermethode gebruikt om de opgeslagen procedure UpdateTestTable aan te roepen. Vervolgens wordt de methode getUpdateCount gebruikt om een telling te retourneren van de rijen die worden beïnvloed door de opgeslagen procedure.
public static void executeUpdateStoredProcedure(Connection con) {
try(CallableStatement cstmt = con.prepareCall("{call dbo.UpdateTestTable(?, ?)}");) {
cstmt.setString(1, "A");
cstmt.setInt(2, 100);
cstmt.execute();
int count = cstmt.getUpdateCount();
System.out.println("ROWS AFFECTED: " + count);
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}