我正在尝试检索存储在这样的Access表中的记录的总和
string query = "SELECT SUM(TOTAL) AS Expr1 FROM tblTicket WHERE (DATE_SALE = @date)";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(query, conn);
cmd.Parameters.AddWithValue("@date", dt.Date);
maxid = cmd.ExecuteScalar().ToString();
conn.Close();
}
它不显示任何数据,但是记录具有选定的日期。数据SALE_DATE
像这样存储在列中8/27/2014 5:35:56 PM
,并且dt
对象从DateTimePicker获取值。
您指示SALE_DATE具有时间成分。这很可能是您的where子句不匹配的原因。我建议像这样使用DateDiff:
WHERE DateDiff("d",@MyDateParameter,[DATE_SALE])=0
如果@MyDateParameter和[DATE_SALE]在同一天,则DateDiff将返回0,而不考虑时间差异。
如果您处理的是大型数据集,并且使用此技术时查询运行“缓慢”,请查看Gord Thompson的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句