预想:在文本框输入日期;“日期”由日历插件输入格式为(10/02/2018),点击“查找”按钮搜出10/02/2018所有记录。下面是我写的程序。    输入日期:  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>                                                         
    日历插件:  
       <ndi:CalendarExtenderD="TextBox1_CalendarExtender" 
 runat="server" Enabled="True"   TargetControlID="TextBox1">
</ndi:CalendarExtender>
    搜索按钮   
<asp:Button ID="Button1" runat="server" Text="搜索" OnClick="Button1_Click" />                         显示结果的表格GridView: <asp:AccessDataSource ID="se_date" runat="server" DataFile="~/data/nanqu01.accdb"  
    SelectCommand="">   </asp:AccessDataSource>     //数据源                         按钮下的代码:    protected void Button1_Click(object sender, EventArgs e)  {      
                             string _asql, _bsql;
          _asql = "SELECT * FROM [test_dateclass]";                   
    _bsql = "  WHERE dt_time= #TextBox1.Text#";      SQL语句的
                                                                     后半句,where条件
    se_date.SelectCommand = _asql + _bsql;        //拼接SQL语句
                                   }
我就想问:我要查询的SQL拼接语句中的,_bsql  (where日期条件语句;格式要怎么写。数据库是ACCESS,日期格式:短日期 2018/10/2)   报错:日期的语法错误 在查询表达式 'dt_time= #TextBox1.Text' 中。 

解决方案 »

  1.   

    _bsql = "  WHERE dt_time= #TextBox1.Text#"==>
    _bsql = "  WHERE dt_time= '" + this.TextBox1.Text.ToString("yyyy/MM/dd") +"'" ;
      

  2.   

    TextBox1.Text转DateTime再格式化输出对应日期格式的字符串
      

  3.   

    你好,换成这句不行,("yyyy/MM/dd")的地方报错了。
      

  4.   


    var text = "10/02/2018";
    var date = DateTime.Parse(text).ToString("yyyy/M/d");
      

  5.   


    var text = "10/02/2018";
    var date = DateTime.Parse(text).ToString("yyyy/M/d");

    你好;刚试过了;你提供的这个思路,还是报错。但是只要我直接输入   _bsql = "  WHERE dt_age=#2018/10/02#";  就能达到预想的效果。而且在里面直接输入信息;格式可以随便都行2018-10-02。我查看属下时;确实也是string类的。但是换成变量全部报错。
      

  6.   

    https://blog.csdn.net/qq_38819293/article/details/81592117
    日期格式要yyyy-MM-dd HH:mm:ss
      

  7.   

    _bsql = "  WHERE dt_time= #"+TextBox1.Text+"#";  
      

  8.   

    谢谢两位;提供的思路;刚刚我自己测试 好了。这是我测试成功的代码;
        protected void Button1_Click(object sender, EventArgs e)
        {
                       string _asql, _bsql;
             DateTime _cq= Convert.ToDateTime(TextBox1.Text);                _asql = "SELECT * FROM [test_dateclass]";
                    _bsql = "  WHERE dt_age<=#" +_cq+ " #";
                   se_date.SelectCommand = _asql + _bsql;
           
        }