喜欢和读者参数

时间:2015-04-19 14:52:51

标签: c# sqlite parameters reader

我希望得到Status就像所有的行。 但每次执行以下代码时,所有条目都将从数据库中未经过滤返回。

dgv_protokollDataGridView的实例。

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();

1 个答案:

答案 0 :(得分:0)

我假设Status是一个字符串。

但将SQlLiteCommand更改为:

SQLiteCommand sqlcmd = new SQLiteCommand("SELECT * FROM Telefonprotokoll WHERE Status LIKE '@wert'", sqlconnection);