根据日期从sqlite中检索数据

时间:2013-09-08 20:08:53

标签: c# sqlite datetime

我正在使用c#

中的以下查询从Sqlite数据库中检索数据
SELECT * FROM tableName

工作正常。但我希望根据日期检索数据,如:

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

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

1 个答案:

答案 0 :(得分:2)

参数化查询可以使代码从各种数据库引擎的日期,字符串和小数所需的格式中解放出来

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
            .....
        }
    }             
}

此示例的目的是展示如何构建参数化查询。通过这种方式,您可以将datetime变量的值传递给Sqlite引擎的框架,该框架更好地了解如何格式化底层系统的日期。

commandText变量中,占位符@dt占用日期的实际格式化值,然后在SqliteCommand Parameters集合中添加一个与占位符名称相同的参数和值从你的日期变量。