【发布时间】:2023-03-22 07:15:01
【问题描述】:
我正在 SQLite for .NET 中执行此查询
string SQL = "SELECT * FROM EmployeeStats where TransactionDateTime = '$date'";
using (SQLiteCommand command = new SQLiteCommand(SQL, DbConnection as SQLiteConnection))
{
command.Parameters.AddWithValue("$date", DateTime.Now.ToString(DateFormatterString));
SQLiteDataReader reader = command.ExecuteReader();
string query = command.CommandText;
foreach (SQLiteParameter p in command.Parameters)
{
query = query.Replace(p.ParameterName, p.Value.ToString());
}
}
阅读器返回零行。
我正在使用 foreach 循环生成 sql 查询。如果我在数据库中手动执行此循环生成的查询,那么它会返回正确的行。
目前,日期的数据库列设置为 TEXT。但是我也尝试过 DATE 和 TIMESTAMP 并将参数添加到此。但还是同样的问题:
command.Parameters.Add("$date", DbType.DateTime).Value = DateTime.Now.ToString(DateFormatterString);
查看此图像显示它在手动执行时工作正常。
编辑。我简化了这个例子。
【问题讨论】:
标签: c# sql .net sqlite parameters