dimanche 19 avril 2015

C# sqlite - like and parameter with reader

I need your help! I want to get all rows where Status is like offen. But everytime I execute the following code, i get unfiltered all entrys from the database.


dgv_protokoll is DataGridView



SQLiteConnection sqlconnection = new SQLiteConnection("Data Source=" + datenbankpfad());
sqlconnection.Open();

SQLiteCommand sqlcmd = new SQLiteCommand("SELECT * FROM Telefonprotokoll WHERE Status LIKE @wert", sqlconnection);
sqlcmd.Parameters.Add(new SQLiteParameter("@wert", "offen%"));

SQLiteDataReader sqlreader = sqlcmd.ExecuteReader();
if (sqlreader.HasRows)
while (sqlreader.Read())
{
int dbwert_id = sqlreader.GetInt32(0);
string dbwert_zeit = sqlreader.GetString(sqlreader.GetOrdinal("Zeit"));
string dbwert_eingangAusgang = sqlreader.GetString(sqlreader.GetOrdinal("EingangAusgang"));
string dbwert_liegenschaft = sqlreader.GetString(sqlreader.GetOrdinal("Liegenschaft"));
string dbwert_name = sqlreader.GetString(sqlreader.GetOrdinal("Name"));
string dbwert_mieterVermieter = sqlreader.GetString(sqlreader.GetOrdinal("MieterVermieter"));
string dbwert_telefon = sqlreader.GetString(sqlreader.GetOrdinal("Telefon"));
string dbwert_grund = sqlreader.GetString(sqlreader.GetOrdinal("Grund"));
string dbwert_maßnahme = sqlreader.GetString(sqlreader.GetOrdinal("Maßnahme"));
string dbwert_wiedervorlage = sqlreader.GetString(sqlreader.GetOrdinal("wiedervorlage"));
string dbwert_bearbeiter = sqlreader.GetString(sqlreader.GetOrdinal("Bearbeiter"));
string dbwert_status = sqlreader.GetString(sqlreader.GetOrdinal("Status"));

dgv_protokoll.Rows.Add(dbwert_id, dbwert_zeit, dbwert_eingangAusgang, dbwert_liegenschaft, dbwert_name, dbwert_mieterVermieter, dbwert_telefon, dbwert_grund, dbwert_maßnahme, dbwert_wiedervorlage, dbwert_bearbeiter, dbwert_status);
int dgv_protokollRows = dgv_protokoll.Rows.Count;
lb_anzahlEintraege.Text = "Anzahl der Einträge: " + dgv_protokollRows;
}

sqlconnection.Close();
sqlcmd.Dispose();
sqlconnection.Dispose();
GC.Collect();

Aucun commentaire:

Enregistrer un commentaire