private void Button4_Click(object sender, System.EventArgs e)
{
strflag="1"; planmanager dataAccess1=new planmanager();
        string temp="";
string strResult="";
// 
System.Text.StringBuilder messBuilder = new System.Text.StringBuilder();
messBuilder.Append(dataAccess1.check_Date(TextBox1.Text,"任务日期",10));
messBuilder.Append(dataAccess1.check_Date(TextBox2.Text,"任务日期",10));
temp = messBuilder.ToString();
if(!temp.Equals(""))
{
this.Page.RegisterStartupScript("","<script>alert('"+temp+"')</script>");
return;
}
//终止日期必须大于起始日期
if(!(TextBox1.Text == "") && !(TextBox2.Text == ""))
{
strResult = promng.common.Constant.IsMatchDate(TextBox1.Text,TextBox2.Text);
if (strResult != "0")
{
String strErrMessage = promng.common.MessageLog.getMessage(strResult,new String[]{"计划起始日期","计划完成日期"});
this.Page.RegisterStartupScript("","<script>alert('"+strErrMessage+"')</script>");
return;
} }
if(!(TextBox1.Text==""))
{
strwhere=strwhere+"pre_start_date>='"+TextBox1.Text+"' and ";
}
if(!(TextBox2.Text==""))
{
strwhere=strwhere+"pre_start_date<='"+TextBox2.Text+"' and ";
}
if(!(username.Items[username.SelectedIndex].Text==""))
{
strwhere=strwhere+"incept_man like '%"+username.Items[username.SelectedIndex].Text.ToString()+"%' and ";
}
else
{
strwhere=strwhere+"(incept_man like '%' or incept_man is null) and ";
strwhere=strwhere.Trim();
}
if(!(tasktype.Items[tasktype.SelectedIndex].Value==""))
{

strwhere=strwhere+"  type='"+tasktype.Items[tasktype.SelectedIndex].Value+"' and ";

}
else
{
strwhere=strwhere+" type like '%' and  ";
strwhere=strwhere.Trim();
}
DataGrid1.CurrentPageIndex = 0;
DataGrid1.AllowSorting = true;
ViewState["sortField"] = null;
ViewState["Boflg"] = true;
Session["strsql"]="where "+strwhere.Substring(0,strwhere.Length-4);
    strwhere="where proj_id='"+tran_proj_id+"' and "+strwhere.Substring(0,strwhere.Length-4);
sqlplanquery=strwhere;
Session["PageRow"] = System.Convert.ToInt32(Ddl_RowCount.SelectedItem.Text);
ViewState["strDataCount"] =dataAccess1.bindplanList(ref this.DataGrid1,strwhere);
Ddl_RowCount.Enabled = true;
pagetext(ViewState["strDataCount"].ToString(),DataGrid1.CurrentPageIndex,DataGrid1.PageCount);
    Session["planstrwhere"]=strwhere;
ViewState.Add("DataGrid1",strwhere);
Session["username"]=username.SelectedItem.Value;
Session["TextBox1"]=TextBox1.Text;
Session["TextBox2"]=TextBox2.Text;
Session["tasktype"]=tasktype.SelectedItem.Value; }

解决方案 »

  1.   

    public String check_Date(String checkValue,String checkItemName,int maxLen) 
    {
    String checkResult = promng.common.Constant.IsValidDate(checkValue,maxLen);
    return getMessageValue(checkResult,new string[]{checkItemName,maxLen.ToString()});
    }
      

  2.   

    #region 校验 日期格式 方法
    public static String  IsValidDate(String strText,int maxLen)
    {
    int  i = (short)(strText.ToString().Trim().Length); if (i==0) return "0"; String temp= IsTooLong(strText, maxLen);
    //超长
                if (!temp.Equals("0")) return temp;

    bool isValid = (new Regex(REGEXP_IS_VALID_DATE)).IsMatch(strText.ToString());
                
    if ( (!isValid) && (i > 0))
    {
    return "M0001"; //消息编号为M0001
    }
              
    return "0";
    }
      #endregion
      

  3.   

    假设数据库中时间的字段为data1
    WHERE KEY = 'tt' AND (DATEDIFF(day, '1993-05-16', date1) > 0) AND (DATEDIFF(day, date1, '1993-07-20') > 0)
      

  4.   

    我这样写,还是有错误,请大家帮忙改改!!
    sql = "select bookid,name,Author,Times,rr,data from BookDetail where name like '%" & search_text3 & "%' and DATEDIFF(day, & search_text2 &, date1) > 0) AND (DATEDIFF(day, date1, & search_text1 &) > 0)