4 Stimmen

Vergleichen Sie Wörter und erhalten Sie exakte Übereinstimmung

Jetzt wird es knifflig... Ich hoffe, ich kann es gut erklären..

Ich habe eine Tabelle mit Namen darin und ich muss sie mit dem von mir bereitgestellten Wort vergleichen und den genauen Treffer bekommen..

Jetzt sage ich, es ist knifflig, weil ich diese Abfrage ausprobiert habe und sie mir eine Menge von Namen gab. Es enthielt das Wort, das genau übereinstimmte, und auch Wörter, die ähnlich waren...

Das ist das, was ich gemacht habe:

DataTable dt = new DataTable();
        SqlConnection connection = new SqlConnection();
        connection.ConnectionString = ConfigurationManager.ConnectionStrings["xyz "].ConnectionString;
        connection.Open();
        SqlCommand sqlCmd = new SqlCommand("SELECT Names FROM Machines WHERE Name  Like '%' + @userName + '%'", connection);
        SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);

        sqlCmd.Parameters.AddWithValue("@userName", userName);

        sqlDa.Fill(dt);
        connection.Close();

Jetzt möchte ich... zum Beispiel.

Wenn die Datenbank drei Wörter hat

abc123

xyz123

pqc1238

Jetzt, wenn das Wort 123 ist, sollte es abc123 und xyz123 zurückgeben wenn c123 dann gib abc123 zurück und NICHT pqc1238 und xyz123

wenn 238 dann gib einfach pqc1238 zurück....

Ich hoffe, ich war deutlich genug... Vertrau mir, ich habe es beim ersten Mal auch nicht verstanden

alle Vorschläge sind besser, um die genauen Übereinstimmungen zwischen Wörtern zu finden.. denn LIKE reicht nicht aus..

Danke

1voto

Mark Milbourne Punkte 131

Warum versuchen Sie es nicht mit LINQ? Machen Sie etwas wie;

var abfrage = from c in db.Machines where c.Name.EndsWith("123") select c.Namen;

Ich hoffe, das hilft.

1voto

Fede Punkte 3698

Es scheint mir, dass du alle Datensätze möchtest, die mit dem spezifischen Wort enden. In diesem Fall musst du einfach das letzte '%' entfernen, das du der Abfrage hinzufügst.

SqlCommand sqlCmd = new SqlCommand("SELECT Names FROM Machines WHERE Name Like '%' + @userName", connection);

Hoffe, das ist das, was du brauchst

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X