我正在创建一个MS Access作为数据库后端的C#项目。我想显示两个日期之间的价格总和。我创建了以下查询方法:
public DataTable selectDates(string dateFrom,string dateTo)
{
initilize();
_conn.ConnectionString = _cs;
_cmd.Connection = _conn;
_cmd.CommandText = "Select Sum(tPrice) AS Price from [tblInventory] where Date_Of_Installation BETWEEN '" + dateFrom + "' AND '" + dateTo + "'";
_da.SelectCommand = _cmd;
_da.Fill(_dt);
return _dt;
}
在表单结尾,我有两个时间选择器和一个按钮:
private void btnTotalRevenue_Click(object sender, EventArgs e)
{
dt = db.selectDates((pickerDateFrom.Text).ToString().Trim(), (pickerDateTo).ToString().Trim());
string a = dt.Rows[0]["Price"].ToString();
MessageBox.Show(a);
}
但消息框显示一个空字符串:。
在MS Access中,您需要格式化日期并将其包装在#符号中。
例子。
SELECT Sum(tPrice) AS Price from [tblInventory]
WHERE Date_Of_Installation BETWEEN #2016/01/01# AND #2016/02/01#
因此,您的C#应该成为。
private void btnTotalRevenue_Click(object sender, EventArgs e)
{
dt = db.selectDates(pickerDateFrom.SelectedDate.Value.ToString("#yyyy/MM/dd#"), pickerDateTo.SelectedDate.Value.ToString("#yyyy/MM/dd#"));
string a = dt.Rows[0]["Price"].ToString();
MessageBox.Show(a);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句