根据日期从 sqlite 检索数据
本文关键字:检索 数据 sqlite 日期 | 更新日期: 2023-09-27 18:30:33
我正在使用 c# 中的以下查询从 Sqlite 数据库中检索数据
SELECT * FROM tableName
它工作正常。但我想根据日期检索数据,例如:
SELECT * FROM tableName WHERE date=09-09-2013
但它对我不起作用,因为 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 参数集合中。