Webservice zur Datenabfrage

Serpil

Mitglied
Hallo zusammen,

ich schreibe einen Webservice, welches Daten aus der Datenbank auslesen und als XML ausgeben soll.
Normalerweise funktioniert auch alles ich brauche nur eine Idee wie ich mein Vorhaben realisieren kann.
Das Sql Statement steht in einer separaten Datei und wird auch ausgelesen und ausgeführt. In dem Statement kann es mehrere Parameter geben.
Sql Statement mit Parameter:

Code:
SELECT * FROM Person WHERE Person_id IN ( SELECT Id FROM Familie WHERE Name = ? AND Vorname= ? AND Geburtsdatum = ? )

Ich gebe im Browser die URL mit Parameter ein und es wird die XML Datei ausgegeben. Soweit so gut.
Jetzt zu meinem eigentlichen Problem. Die Reihenfolge der Parameter in der URL kann ich nicht beeinflussen jetzt muss ich es irgendwie hinkriegen dass ich in dem Sql Statement die Parameter Reihenfolge fest vorgebe, welcher Parameter welche Position hat und ich will es im Code eigentlich nicht fest reinprogrammieren.
Ich habe den Tipp bekommen dass ich es über XML machen kann, weiss aber nicht wie.

Ich hoffe es ist einigermaßen verständlich was ich möchte.
Bin für jede Idee und Tipp dankbar.

Danke
Serpil
 
Hallo Serpil,

ich weiß nicht welche Datenbank Du benutzt. Deswegen ist der Hinweis auf Named Parameters mit Vorsicht zu genießen, aber prinzipiell können die das was Du möchtest. Wenn ich dich richtig verstanden habe.

Wie das geht? Steht im Java 5 Tutorial unter der Überschrift "Using Named Parameters".

Gruß Sen
 
Hallo Sentoo,

erstmal danke für deine Antwort.

Ich benutze Oracle.
Auf Named Parameters bin ich auch schon gestoßen. Aber eigentlich möchte ich das Statement so beibehalten. Ich würde es gerne irgendwie mit Metadaten realisieren, dass ich den Parametern eine feste Reihenfolge zuordne, weil ich auch diesen Tipp bekommen hab, aber leider fehlt mir die Idee dazu. Vielleicht habe ich das auch komplett falsch verstanden mit den Metadaten. Bin zur Zeit bisschen überfordert mit allem, weil ich auch nicht grad ein As bin im Programmieren :(

Vielen Dank
Gruß Serpil
 
Könntest du denn etwas mehr von dem Code posten? Da dürfte doch ein PreparedStatement generiert werden, um dann dessen setParameter(...) aufzurufen. An der Stelle müssten die URL-Parameter auch schon sein. Dann musst Du eigentlich nicht mehr viel machen. Ich würde fast vermuten, dein Problem sind Magic Numbers ;)
 
Zurück