Я не уверен, что не так с этим кодом ...
else if (combo_View.Text == "Orders")
{
da.SelectCommand = new OleDbCommand("SELECT * FROM TestQuery WHERE (VendorName = @VendorName OR @VendorName = '') AND (CustomerName = @CustomerName OR @CustomerName = '') AND (PO = @PO OR @PO = '') AND (ItemNum = @ItemNum OR @ItemNum = '') AND (orderDate BETWEEN @From AND @To) ORDER BY CustomerName", cs);
//da.SelectCommand = new OleDbCommand("SELECT * FROM TestQuery WHERE orderDate BETWEEN @From AND @To", cs);
da.SelectCommand.Parameters.Add("@VendorName", OleDbType.VarChar).Value = combo_VendorView.Text.ToString();
da.SelectCommand.Parameters.Add("@CustomerName", OleDbType.VarChar).Value = combo_CustomerView.Text.ToString();
da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = "#" + tp_viewFrom.Value.Date.ToString("M/d/yyyy") + "#";
da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = "#" + tp_viewTo.Value.Date.ToString("M/d/yyyy") + "#";
da.SelectCommand.Parameters.Add("@PO", OleDbType.VarChar).Value = txt_POLookup.Text.ToString();
da.SelectCommand.Parameters.Add("@ItemNum", OleDbType.VarChar).Value = combo_ItemNumLookup.Text.ToString();
dsB.Clear();
da.Fill(dsB);
dgv_DataLookup.DataSource = dsB.Tables[0];
}
В основном я хочу заполнить сетку данных оператором Между. Для нескомментированной команды SelectCommand я, кажется, не получаю значений в моей сетке данных при выборе допустимых дат. Однако, когда я вынимаю комментарии команды select после этого, она работает, когда это единственная дата. Может кто-нибудь сказать мне, что не так с первой командой, когда у меня есть другие параметры с ней? Спасибо
Edit:
Больше странности, когда я использую эту команду выбора:
da.SelectCommand = new OleDbCommand("SELECT * FROM TestQuery WHERE
(VendorName = @VendorName OR @VendorName = '')
AND (CustomerName = @CustomerName OR @CustomerName = '')
AND orderDate BETWEEN @From AND @To ORDER BY CustomerName", cs);
это работает, но я добавляю к нему что-нибудь еще, и оно останавливается ...