我正在使用c#
中的以下查询从Sqlite数据库中检索数据SELECT * FROM tableName
工作正常。但我希望根据日期检索数据,如:
SELECT * FROM tableName WHERE date=09-09-2013
但它不适合我,因为Sqlite日期表示不是这种日期格式。 我想问的是,是否有任何方法可以根据上述查询中提到的用户日期和时间检索Sqlite数据,如何以用户可读格式表示Sqlite数据库的日期和时间。
答案 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集合中添加一个与占位符名称相同的参数和值从你的日期变量。