下面是我从sqlite数据库中获取超过n天/月的数据的方法。下面的方法将用2个参数调用。
例如,
获取10天以前的数据-〉GetOldData(10,"days");
获取2个月以前的数据-〉GetOldData(2,"月");
private DataTable GetOldData(int valueInNumber, string valueInPeriod)
{
sqliteCommand.CommandText = $"SELECT * FROM tblInfo WHERE SavedDate < DATE('Now', 'LocalTime', '-{valueInNumber} {valueInPeriod}')";
}
above方法工作正常。但是用上面的格式编写查询是不安全的。所以,我想把这两个params作为sql参数传递给查询。
sqliteCommand.Parameters.AddWithValue("period", 2);
sqliteCommand.Parameters.AddWithValue("term", "days");
已尝试使用上述参数. AddWithValue执行此操作,但条件不适用。
正确的方法应该是什么?
1条答案
按热度按时间mxg2im7a1#
你可以在查询中使用带有占位符的参数,比如
@paramName
,在这种情况下,你可以连接来自函数的字符串值。