需要查询根据当前系统日期从两个表中获取数据吗?

时间:2014-02-20 09:21:36

标签: c# sql .net

我想获取当前日期所有查询者的数据。我想将当前系统日期与数据库中的Enq日期匹配,并从同一日期的2个表中获取数据.-

protected void bindgv()
{
    DateTime from = DateTime.ParseExact(txtenqrydtfrm.Text, "dd/MM/yyyy", null);
    DateTime to = DateTime.ParseExact(txtenqdtto.Text, "dd/MM/yyyy", null);
    string wcenterid = ViewState["wcentreid"].ToString();
    //CONVERT(varchar, `enter code here`ActOnEnqNextFollowupDueon, 3)
    OleDbDataAdapter cmd = 
        new OleDbDataAdapter(
            "SELECT "+ 
                "enq.EnqStageID, "+
                "enq.WCenterID, "+
                "enq.EnqoffUseDetailsID, "+
                "enq.EnquiryName, "+
                "enq.EnquiryMobileNo, "+
                "enq.EnqEmail, "+
                "enq.EnqGender, "+
                "enq.EnqOccupation, "+
                "enq.EnquiryDate, "+
                "Actn.ActOnEnqNextFollowupDueon, "+
                "Actn.ActOnEnqBy "+
            "FROM "+
                "Wcpre_EnquiryOfficeUseDetails,enq "+
                "INNER JOIN Wcpre_ActiononEnquiry Actn ON Actn.EnqoffUseDetailsID = enq.EnqoffUseDetailsID where EnquiryDate between '" +tdate+"'",
                ConnectionManager.con);

    DataTable dt = new DataTable();
    cmd.Fill(dt);
    `enter code here`
}

2 个答案:

答案 0 :(得分:0)

使用参数,您的sql语句更改为WHERE EnquiryDate BETWEEN @startDate and @endDate

OleDbDataAdapter dataAdapter = new OleDbDataAdapter("SELECT  enq.EnqStageID,enq.WCenterID,enq.EnqoffUseDetailsID, enq.EnquiryName, enq.EnquiryMobileNo, enq.EnqEmail, enq.EnqGender, enq.EnqOccupation, enq.EnquiryDate,Actn.ActOnEnqNextFollowupDueon,Actn.ActOnEnqBy FROM Wcpre_EnquiryOfficeUseDetails enq INNER JOIN Wcpre_ActiononEnquiry Actn ON Actn.EnqoffUseDetailsID = enq.EnqoffUseDetailsID WHERE EnquiryDate  BETWEEN @startDate and @endDate", ConnectionManager.con);

dataAdapter.SelectCommand.Parameters.AddWithValue("@startDate", from);
dataAdapter.SelectCommand.Parameters.AddWithValue("@endDate", to);

DataTable dt = new DataTable();
dataAdapter.Fill(dt);

答案 1 :(得分:0)

我不确定你在这里尝试做什么,但就SQL查询而言。请用“=”

替换
OleDbDataAdapter cmd = new OleDbDataAdapter("SELECT  enq.EnqStageID,enq.WCenterID,enq.EnqoffUseDetailsID, enq.EnquiryName, enq.EnquiryMobileNo, enq.EnqEmail, enq.EnqGender, enq.EnqOccupation, enq.EnquiryDate,Actn.ActOnEnqNextFollowupDueon,Actn.ActOnEnqBy FROM Wcpre_EnquiryOfficeUseDetails enq INNER JOIN Wcpre_ActiononEnquiry Actn ON Actn.EnqoffUseDetailsID = enq.EnqoffUseDetailsID where EnquiryDate = '" +tdate+"'", ConnectionManager.con);
                DataTable dt = new DataTable();
                cmd.Fill(dt);