根据日期从 sqlite 检索数据

本文关键字:检索 数据 sqlite 日期 | 更新日期: 2023-09-27 18:30:33

我正在使用 c# 中的以下查询从 Sqlite 数据库中检索数据

SELECT * FROM tableName

它工作正常。但我想根据日期检索数据,例如:

SELECT * FROM tableName WHERE date=09-09-2013

但它对我不起作用,因为 Sqlite 日期表示形式不是这种日期格式。我想问的是,是否有任何方法可以根据用户日期和时间检索 Sqlite 数据,如上述查询中所述,以及如何以用户可读格式表示 Sqlite 数据库的日期和时间。

根据日期从 sqlite 检索数据

参数化查询将使代码摆脱各种数据库引擎对日期、字符串和小数所需的格式

using (SqliteConnection con = new SqliteConnection(connectionString)) 
{
    con.Open();
    string commandText =  "SELECT * FROM tableName WHERE date=@dt";
    using (SqliteCommand cmd = new SqliteCommand(commandText, con))
    {
        cmd.Parameters.AddWithValue("@dt", yourDateVariable)
        SqliteReader reader = cmd.ExecuteReader();
        while(reader.Read())
        {
            // Extract your data from the reader here
            .....
        }
    }             
}

此示例的重点是演示如何生成参数化查询。通过这种方式,您可以将日期时间变量的值传递给 Sqlite 引擎的框架,该框架更了解如何为底层系统格式化日期。

commandText 变量中,日期的实际格式化值由占位符@dt获取,然后将具有与占位符和日期变量中的值同名的参数添加到 SqliteCommand 参数集合中。