Behöver lite hjälp med någon slags replace funktion, vet dock inte om det går att göra i jsp eller js.
Jag har ett formulär, där ett fält är errandnumbers, där ska man kunna skriva in tex "54548,545484,54548,545454,5454" och sen vill jag att nån funkis ska byta ut -> , <- tecknet mot -> ' or PRHeader.PrId = ' <-. För att sedan kunna använda det omgjorda värdet i errandnumbers till en SQL sträng.
Hur fasen ska man göra detta tycker ni?
Kan man göra js i javakod?
red. Sen är vanlig replace inte bra alls eftersom det öppnar för SQL-injektion. Vad händer om jag skriver in 0; DROP TABLE PRHeader; -- i errandnumbers?
Intressant fråga. Hur hanterar man situationer där man bestämt vill använda prepared statements men samtidigt vill ha dynamiska parametrar, ungefär som i jwradhes fall här?
Det känns som att JDBC inte riktigt når ända fram, eller har jag missat nåt?
Man får trixa lite med strängbyggande och hålla reda på hur många parametrar man lägger in.
Collection<int> ids = whatever.getThatFunkyStuff();
StringBuilder buf = new StringBuilder("SELECT * FROM PRHeader WHERE PrId IN (");
for (int i = 0; i < ids.length(); i++) buf.append(i == 0 ? "?" : ", ?");
buf.append(')');
PreparedStatement ps = connection.prepareStatement(buf.toString());
int pos = 0;
for (int id : ids) ps.setInt(++pos, id);