0

我想得到所有Status像off的行。但是每次我执行以下代码时,所有条目都会未经过滤地从数据库中返回。

dgv_protokoll是 的一个实例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();
4

1 回答 1

0

我假设 Status 是一个字符串。

但将 SqlLiteCommand 更改为:

SQLiteCommand sqlcmd = new SQLiteCommand("SELECT * FROM Telefonprotokoll WHERE Status LIKE '@wert'", sqlconnection);
于 2015-04-19T15:00:26.073 回答