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;
}
Mit Contains.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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.
Die genau EIN Leerzeichen haben?
Mit den verschiedenen Überladungen der String.LastIndexOf Methode.
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.
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.
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?
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)