Laden...

Mit Linq alle Einträge auswählen, die ein Leerzeichen haben

Erstellt von agreen vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.813 Views
A
agreen Themenstarter:in
5 Beiträge seit 2018
vor 4 Jahren
Mit Linq alle Einträge auswählen, die ein Leerzeichen haben

verwendetes Datenbanksystem: <MS SQL>

Hallo zusammen,
kann mir jemand helfen, wie ich eine Liste (Northwind - Customers) alle Städte ausgeben lassen kann, die ein Leerzeichen haben?


 void Aufgabe3()
        {
            string sqlString = "SELECT ort from personen";
            OdbcDataReader reader = this.AccessDb(sqlString);
            cityList = new List<string>();

            while (reader.Read())
            {
                cityList.Add(reader.GetString(0));
            }
            odbcConnection.Close();

            foreach (string s in BlankList(cityList))
            {
                Console.WriteLine(s);
            }
        }


        static IEnumerable<string> BlankList(IEnumerable<string> e)
        {
            // Use LINQ to sort the array received and return a copy.
            var sorted = from s in e
                         orderby s.Length ascending
                         select s;

            var ListBlank = sorted
                      .Where(c => ListBlank.Stadt.Equals(city))
                      .Select(c => c.Name);

            return ListBlank;
        }

16.828 Beiträge seit 2008
vor 4 Jahren

Mit Contains.

A
agreen Themenstarter:in
5 Beiträge seit 2018
vor 4 Jahren

das klappt fast ... wie kann ich aber nur ein Leerzeichen abfragen


 foreach (string s in filteredList)
                {
                    if (s.Contains("Atlanta"))
                    Console.WriteLine(s);
                }

Wenn ich eine Stadt eintrage, gehts aber " " leider nicht.

D
152 Beiträge seit 2013
vor 4 Jahren

Die genau EIN Leerzeichen haben?

Mit den verschiedenen Überladungen der String.LastIndexOf Methode.

A
agreen Themenstarter:in
5 Beiträge seit 2018
vor 4 Jahren

vielleicht habe ich mich falsch ausgedrückt, ich habe eine Tabelle von Städten aus der Datenbank ausgelesen (z.B Berlin, Los Angeles, Las Vegas, Atlanta, ...) und ich muss Städte auslesen, die ein Leerzeichen beinhalten.

T
2.222 Beiträge seit 2008
vor 4 Jahren

Warum liest du die Städte dann nicht direkt aus der DB, die Leerzeichen haben?
Dann brauchst du zum einen nicht alle einladen und zum anderen hast du gleich alle mit einem Leerzeichen drin.
Kannst du dann z.B. über Like machen.
Alternativen dürfte es in SQL je nach Datenbank auch andere geben.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

A
agreen Themenstarter:in
5 Beiträge seit 2018
vor 4 Jahren

Im SQL bekomme ich das hin



SELECT ort from personen WHERE REGEXP_LIKE( ort, '[ ]{1}' ) 


ich bekomme das nicht hin, mit Linq die Datensätze auszulesen, die ein Leerzeichen haben. Kann mir einer sagen, wie die Abfrage in Linq auszusehen hat?

3.003 Beiträge seit 2006
vor 4 Jahren

Wie Abt direkt in der ersten Antwort schrieb.


var filteredCities = await _context.Cities.Where(p => p.Name.Trim().Contains(' ')).ToListAsync();

Übrigens ist auch dein SQL nicht ganz korrekt.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

A
agreen Themenstarter:in
5 Beiträge seit 2018
vor 4 Jahren

vielen Dank, das habe ich gebraucht.