DATEDIFF('m',b_time,Now())=0以上代码,是对的,现在我想改成查询,即TextBox1控件输入时间比如2009-5 就查询出2009年5月份的记录。
即把Now()替换成TextBox1.Text,如何写?

解决方案 »

  1.   

    写个存储过程,把TextBox1.Text作为参数传进入。
      

  2.   

    DATEDIFF('m',b_time,'2009-5-31')=0这样也可以话。
    要是在程序中可以传个参数过去就是了。
      

  3.   

    即我想改成这个样子
    DATEDIFF('m',b_time,TextBox1.Text)=0
    但是代码不对,需要转换,怎么写?
      

  4.   

    select * from table where datepart(month,日期)='5' and datepart(year,日期)='2009'
      

  5.   


    //Now()=>
    Convert.ToDateTime(TextBox1.Text);
      

  6.   

    DataTime.Parse(me.TextBox1.Text)先转换成时间型
    然后再查找时传入一个参数@pardate
    sqlparameter pardate=new sqlparameter("@pardate",DataTime.Parse(me.TextBox1.Text));
    sql="select * from table1 where DATEDIFF('m',b_time,@pardate)=0"
      

  7.   


    c#的话要把 me 换成 this
    我这个写的是vb.net的语法
      

  8.   

    8楼的出现以下错误:
    表达式中 'Convert.ToDateTime' 函数未定义。
      

  9.   

    5楼的,出现以下错误:
    表达式中 'DataTime.Parse' 函数未定义。 
      

  10.   

    DATEDIFF('m',b_time,DataTime.Parse(TextBox1.Text))=0以上代码错误为:
    表达式中 'DataTime.Parse' 函数未定义。
      

  11.   

    谢谢大家,搞定了。
    正确是:
    DATEDIFF('m',b_time,'"+y1.Text+"')=0
      

  12.   


    DATEDIFF是sql中的函数,要放在查询分析器中执行的TextBox1.Text是c#中的语法可以把值作为参数传递进去
    然后sql中写
      

  13.   

    我刚试了一下,这样就可以了。
    txtbianhao.Text=System.DateTime.Now.ToString();