Hi
Ich habe ein PeparedStatement das ich unter anderem mit folgendem füllen will:
rs.getString(4) Besteht aus einer kommagetrenten Liste von obj_id's.
Das ganze funktioniert wenn es nur eine obj_id hat, wenns mehere sind kommt aber sowas raus:
(b_pr_fi.obj_id='F0020475\' or b_pr_fi.obj_id=\'F0020476')
Wie ihr seht escaped er die ' (also aus ' wird \').
Wie kann ich das vermeiden? Btw. gibt es ein set dass mir die ' nicht escaped? Oder kann ich kein PreparedStatement nehmen und muss das Statement selbst zusammen bauen?
Ahja wieso ich das ganze mache: ich weiss im vorherein nicht wie viele ORs da benötigt werden.
Grüsse und Danke
jeipack
Ich habe ein PeparedStatement das ich unter anderem mit folgendem füllen will:
Java:
PreparedStatement ps = c.prepareStatement("... AND (b_pr_fi.obj_id=?) ..."); //?=5. Argument, also das was unten gesetzt wird
ps.setObject(5, rs.getString(4).replaceAll(",", "' or b_pr_fi.obj_id='"));
rs.getString(4) Besteht aus einer kommagetrenten Liste von obj_id's.
Das ganze funktioniert wenn es nur eine obj_id hat, wenns mehere sind kommt aber sowas raus:
(b_pr_fi.obj_id='F0020475\' or b_pr_fi.obj_id=\'F0020476')
Wie ihr seht escaped er die ' (also aus ' wird \').
Wie kann ich das vermeiden? Btw. gibt es ein set dass mir die ' nicht escaped? Oder kann ich kein PreparedStatement nehmen und muss das Statement selbst zusammen bauen?
Ahja wieso ich das ganze mache: ich weiss im vorherein nicht wie viele ORs da benötigt werden.
Grüsse und Danke
jeipack