2016-09-20 1 views
1

würde mir einen Vorschlag gefällt, dann in der Regel lade ich Daten in der Datenbank auf diese Weise:Kann ich benannte Parameter in einem INSERT PreparedStatement verwenden?

PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)"); 
             prep.setString (1, name); 
             prep.setString (2, last name); 
             prep.executeUpdate(); 

ich einen Weg einen Datenreferenzindex anzuzeigen, zu vermeiden möchte, das heißt, würde ich Daten gerne schicken die PreparedStatement unordentlich kein Index, ich möchte die Daten senden und dann wird es die API sein, um die richtigen Felder zu setzen, könnte es so etwas verwenden (beachten Sie, dass ich den Nachnamen mit dem Namen umgekehrt, den Nachnamen zuerst sendend, und die API sollte es dem zweiten Feld hinzufügen)

PreparedStatement prep = con.prepareStatement ("INSERT INTO TABLE (NAME, LAST NAME) VALUES (?,?)"); 
             prep.setString (surname, name); 
             prep.setString (NAME, name); 
             prep.executeUpdate(); 

Antwort

0

jdbc nicht nativ supp oder benannte Parameter in vorbereiteten Anweisungen. Ich habe this answer gefunden, das Ihre Frage beantworten könnte.

Abhängig von der verwendeten Datenbank (Oracle, MySQL, etc.) benötigen Sie möglicherweise etwas andere Werkzeuge.

1

Der JDBC-Standard unterstützt keine benannten Parametermarker in PreparedStatement, jedoch unterstützen einige Herstellerimplementierungen des JDBC-Treibers sie - hier ist ein Beispiel für die DB2 JDBC extension. Überprüfen Sie die Dokumentation für die Treiberimplementierung des jeweiligen Datenbankherstellers.

0

Blick auf die JAVA PreparedStatement Dokumentation von ORACLE. Es gibt keine solchen Methoden.

Die Methoden, die zur Verfügung stehen sieht im Allgemeinen wie folgt aus:

set...(int parameterIndex, SomeObject variableName)

Verwandte Themen