C # -Konstruktionsparameterabfrage SQL - LIKE%
Ich versuche zum erstellen von SQL-für eine parameter-Abfrage in C# für eine Abfrage enthält die LIKE %%
Befehl.
Hier ist, was ich versuche zu erreichen (bitte beachten Sie, dass die Datenbank Firebird)
var SQL = string.format("SELECT * FROM {0} WHERE {1} LIKE '%?%'", TABLE, NAME);
cmd.Parameters.AddWithValue(NAME, "JOHN");
Nun habe ich versucht, jede einzelne permutation, um die parameter zu arbeiten, habe ich versucht;
- Hinzufügen der
%
Charakter, um die parameter,cmd.Parameters.AddWithValue(NAME, "%" + "JOHN" + "%");
- oder
cmd.Parameters.AddWithValue(NAME, "'%" + "JOHN" + "%'");
Ich kann nicht scheinen, um diese zu arbeiten, wie kann ich einen parameter für die LIKE-Abfrage zu arbeiten.
Vorschläge sind willkommen!
InformationsquelleAutor der Frage | 2009-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie keine Parameter in einem string-literal in der Abfrage. Stellen Sie den gesamten Wert der parameter, und fügen Sie die Platzhalter für die Zeichenfolge:
InformationsquelleAutor der Antwort Guffa
InformationsquelleAutor der Antwort Joel Coehoorn
In der Vergangenheit, wenn dies zu tun, habe ich einfach integriert es in die sql, um sicherzustellen, dass Sie ich ersetzen Sie einfache Anführungszeichen mit Fragezeichen Umgang mit sql-injection. Eg:
InformationsquelleAutor der Antwort Chris