Reputation: 1916
I want to retrieve data from database using the following sql query but this is not working. I am trying to fetch data according to input date. In database the date is in format of 03/03/2013. Is following query correct for the problem.
public DataSet OrderByDate(string date1, string date2)
{
// string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Amrit\\Desktop\\Database.accdb ;Persist Security Info=False;";
DataSet dataSet = new DataSet();
OleDbConnection oleConn = new OleDbConnection(connString);
try
{
oleConn.Open();
string sql = "SELECT Order.OrderNumber, (Customer.Title +SPACE(2)+ Customer.CustomerName) as [Customer Name], Customer.CustomerEbayname, Customer.EmailAddress, Customer.PhoneNumber, (Customer.Address1 + SPACE(2) + Customer.Address2 + SPACE(2)+ Customer.City + SPACE(2) + Customer.PostCode + SPACE(2) + Customer.Country) as Address, Order.ItemPurchased, Order.PurchasedDate, Order.TotalPrice FROM Customer INNER JOIN [Order] ON Customer.[CustomerID] = Order.[CustomerID] WHERE [PurchasedDate] BETWEEN #date1# AND #date2#"; OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql, oleConn);
dataAdapter.Fill(dataSet, "Customer");
}
catch (Exception ex)
{
MessageBox.Show("An exception has been occured\n" + ex.ToString());
Console.WriteLine(ex.ToString());
}
finally
{
oleConn.Close();
}
if (dataSet.Tables.Count <= 0)
return null;
else
return dataSet;
}
Upvotes: 0
Views: 1282
Reputation: 263933
since you are using Access
, wrap the dates with #
not by single quotes.
SELECT [Order].[Order]Number,
(Customer.Title +SPACE(2)+ Customer.CustomerName) as [Customer Name],
Customer.CustomerEbayname,
Customer.EmailAddress,
Customer.PhoneNumber,
(Customer.Address1 + SPACE(2) + Customer.Address2 + SPACE(2)+ Customer.City + SPACE(2) + Customer.PostCode + SPACE(2) + Customer.Country) as Address,
[Order].ItemPurchased,
[Order].PurchasedDate,
[Order].TotalPrice
FROM Customer
INNER JOIN [Order]
ON Customer.[CustomerID] = [Order].[CustomerID]
WHERE [PurchasedDate]= #" + date + "#
Upvotes: 1