2012-01-11 14 views
0

データセットからfromdateとtodateの間のレコードを取得したいとします。しかし、同じ列に日付と日付の両方があります。条件を使用してデータセットからレコードを取得

**Expression :** 
    string expression = "punchDate >='" + txtfromdate.Text + "' and PunchDate <='" + txttodate.Text + "' "; 
      findbyexpression(expression); 

この表現は同じ月にレコードを返します。私は'12からレコードを取得するとし-02-2011' 2011' 年10月1日にこれは仕事かもしれ//

protected void findbyexpression(string Expression) 
{ 
    try 
    { 
     DataTable dt1 = new DataTable(); 
     DataSet4TableAdapters.sp_getalltimesheetTableAdapter TA = new DataSet4TableAdapters.sp_getalltimesheetTableAdapter(); 
     DataSet4.sp_getalltimesheetDataTable DS = TA.GetData(); 
     DataTable DT = new DataTable(); 
     DT = DS[0].Table; 
     DataRow[] foundRows; 
     foundRows = DT.Select(Expression); 
     dt1 = foundRows.CopyToDataTable(); 
     Session["TaskTable"] = dt1; 
     grdvw.DataSource = Session["TaskTable"]; 
     grdvw.DataBind(); 
    } 
    catch (Exception e2) 
    { 
     ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('" + e2.Message + "');</script>", false); 
    } 
} 
+0

あなたの質問テキスト:'12 -02-2011 'から10-01-2011までは、レコードを返さないことを意味します。From日付は> Dateですが、通常はDateからです。あなたはあなたの質問テキストを正しく表現して欲しいと思います。 – VS1

+0

日付から:01-01-2012およびtodate 10-01-2011は正しいレコードを返します。その後、日付:01-11-2011 Todate:10-01-2011はレコードを取得しないことを意味します。実際に日付の間にいくつかのレコードが含まれています。 –

答えて

0
string expression = string.Format("punchDate>=convert(datetime,'{0}',105) and PunchDate <=convert(datetime,'{1}',105) ", txtfromdate.Text,txttodate.Text); 

...それはレコードを返していないことを意味します!