データベースバックエンドとしてMS Accessを使用してC#プロジェクトを作成しています。私は2つの日付の間に価格の合計を表示したい。2つの日付間の総収益が動作しません。c#msアクセスデータベース
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);
}
が、メッセージボックスが空の文字列表示されています:を私は2時間ピッカーとボタンがあり、フォーム側では
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;
}
:私は、次のクエリメソッドを作成しています。
されているように答えに書かれているように、Accessクエリの日付リテラルは '# '文字でラップする必要があり、' DMY'の代わりに 'MDY'になければなりません。ただし、[parameters](https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbparameter%28v=vs.110%29.aspx)を使用することを検討してください。 SQLインジェクションを回避し、クエリプランの再利用を可能にするという一般的な利点は別として)。 –