2016-06-04 4 views
1

Also im Grunde habe ich ein Datenbank-Tool eingerichtet, die die Datenbank bearbeiten würde. Ich auch, um es einfacher zu machen, fügte ein Listenfeld hinzu, das alle Namen der Leute zeigt, die in der Datenbank sind.C# Datenbank Filter Benutzer mit Listbox

Looks like this

Wie dem auch sei. Jetzt frage ich mich, wie die Liste der Benutzer ziemlich lang sein kann. Wie würde ich einen Filter zur Listbox hinzufügen?

  string constring = "datasource=localhost;port=3306;username=root;password=password"; 
     string Query = "select * from altislife.players where name='" + listBox1.Text + "' ;"; 
     MySqlConnection conDataBase = new MySqlConnection(constring); 
     MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase); 
     MySqlDataReader myReader; 
     try 
     { 
      conDataBase.Open(); 
      myReader = cmdDataBase.ExecuteReader(); 

      while (myReader.Read()) 
      { 
       string scash = myReader.GetInt32("cash").ToString(); 
       string sbankacc = myReader.GetInt32("bankacc").ToString(); 
       string scoplevel = myReader.GetInt32("coplevel").ToString(); 
       string smediclevel = myReader.GetInt32("mediclevel").ToString(); 
       string sblacklist = myReader.GetInt32("blacklist").ToString(); 
       cash_txt.Text = scash; 
       bankacc_txt.Text = sbankacc; 
       coplevel_txt.Text = scoplevel; 
       mediclevel_txt.Text = smediclevel; 
       blacklist_text.Text = sblacklist; 
      } 

     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

Danke: So wenn in der Textbox über dem Listenfeld würde ich "J" gesetzt in Es wäre nur mit "Joe Weller"

Listbox Code angezeigt.

+0

Was haben Sie bisher versucht? –

+0

Einige zufällige Sachen. Aber das würde zeigen, was ich in den Code eingegeben habe. Nicht die Namen mehr. – AaronKek

+0

Verwenden Sie 'EntityFramework' oder' Ado.Net'? Ist Ihre Anwendung 'winforms' oder' wpf' oder eine 'asp.net' App? – mohsen

Antwort

0

Wenn Sie Entity Framework

using(context db = new Context) 
{ 
    List<User> lu = (from u in db.users where u.Name.StartWith("s") select u).ToList(); 
} 

bearbeiten

Sie verwenden Ado.Net

Manchmal weiß man einen Teil des Wertes, die gespeicherten Daten übereinstimmen in Sie müssen z. B. in einer Beschreibung nach einem Wort suchen. Sie können die Suche mit Mustervergleich durchführen g Verwenden von Platzhaltern, um einen Wert innerhalb eines anderen Wertes zu finden.

Pattern in mögliche Übereinstimmung von Schlüsselwort LIKE .MOST der Zeit, die Prozentzeichen (%) zusammen mit verwendet wird LIKEeine beliebige Anzahl von Zeichen darzustellen Und (_)

So müssen Sie unter Query-String ersetzen nur ein Zeichen verwendet Benutzernamen beginnt zu finden ‚s‘

string Query = "select * from altislife.players where name LIKE 's%'"; 
+0

Ich will nicht, dass ich nicht denke. Ich habe Filter. Wenn Sie zum Beispiel "J" in ein Textfeld schreiben, sehen Sie alles, was mit einem "J" in der Listbox beginnt. – AaronKek

+0

Ich habe meine Antwort bearbeitet – mohsen