Wie man den LIKE-operator in C# - Befehl?
Ich das einfügen muss einen string in ein Sql-Befehl
search.CommandText = "SELECT * FROM Contacts WHERE Name like ' + @person + % + '";
Was es der richtige Weg, mit LIKE
in einem Befehl?
was rdbms, das Sie verwenden? MySQL, SQL-Server,..?
InformationsquelleAutor user1667459 | 2012-09-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden sollte:
@person
ist ein parameter - Sie brauchen nicht in Anführungszeichen. Sie brauchen nur zu verketten es mit%
, die Zitate.Beachten Sie:
"SELECT * FROM Contacts WHERE Name like @person"
, und der Wert des Parameters enthalten%
(verketten in C# ist einfacher zu verstehen).%
,_
,[
und]
.InformationsquelleAutor Kobi
Syntax Verwenden:
Den
"%"
Zeichen kann verwendet werden, um zu definieren, Platzhalter (fehlende Buchstaben im Muster) sowohl vor als auch nach dem Muster.Beispiel:
LIKE '%xy'
erhalten Sie alles, was endet mit "xy"LIKE '%xy%'
bekommen würde Sie nichts enthält die "xy"LIKE 'xy%'
erhalten Sie alles, beginnend mit "xy"InformationsquelleAutor CloudyMarble
Ist es das, was du meinst?
Hehe ja so ist es. Sollte wahrscheinlich haben erwähnt, dass in der Antwort. Ich bin gunna verwenden Sie die ', dass es funktioniert, dann korrigieren Sie die Sicherheit' zu entschuldigen 🙂
Das ist, warum ich verwendete Parameter LOL
InformationsquelleAutor Shadow
InformationsquelleAutor John Woo
person
. (zufällig@
gültig ist, bevor die C# - Bezeichner - Glück gehabt!). So oder so - Sie ändern eines parametrisierten Befehl zu einem potentiellen Sicherheitsrisiko: en.wikipedia.org/wiki/SQL_injectionInformationsquelleAutor swingNoobie
InformationsquelleAutor arun
Sollte diese Arbeit
InformationsquelleAutor Partha
wenn das Feld type ist vom Datentyp Nvarchar verwenden Sie diesen code:
InformationsquelleAutor Keramat
"SELECT * FROM table_name like concat(@Personen,'%')"
Ich es benutzt habe.
InformationsquelleAutor Ömer Erhan Özer