按日期搜索sql中的单列

时间:2015-03-26 09:48:52

标签: sql-server-2008

我有一个表tblEvent和列EventDate,其中我存储了与事件相对应的日期。 我想在用户选择的日期范围之间搜索事件(例如:15/3/2015)
我试过了

public DataTable SearchEventByDate(string FromDate, string ToDate)
        {

            string query = "select tblEvent.*,tblCustomer.Name as 'CustomerName' from tblEvent,tblCustomer where tblEvent.CustomerID=tblCustomer.CustomerID and tblEvent.EventDate between " + FromDate + "And " + ToDate;
            List<SqlParameter> lstParams = new List<SqlParameter>();
            DataTable dt = DBUtility.SelectData(query, lstParams);
            return dt;
        }

这不起作用

1 个答案:

答案 0 :(得分:0)

我想你应该改变你的查询并用它添加以下parameters ..

public DataTable SearchEventByDate(string FromDate, string ToDate)
        {
                string query = @"

          SELECT tblEvent.*,
                 tblCustomer.Name as 'CustomerName' 

           FROM  tblEvent,tblCustomer 

          WHERE tblEvent.CustomerID=tblCustomer.CustomerID AND tblEvent.EventDate BETWEEN @fromDate  AND @toDate;

            List<SqlParameter> lstParams = new List<SqlParameter>();

            lstParams.Add(new SqlParameter("@fromDate", FromDate));
            lstParams.Add(new SqlParameter("@toDate", ToDate));

            return DBUtility.SelectData(query, lstParams)";
        }

这应该可以正常工作!