有一个月的记录如日期为2006-3-1到2006-3-31,我用如下语句
strdate="2006-3"
OleDbCommand command=new OleDbCommand("delete from kucun_rizhi where 日期 like #"+strdate+"#",myConnection);
int i=command.ExecuteNonQuery();
为何不行
请各位多指教

解决方案 »

  1.   

    把日期转换一下convert(datetime,日期)应该就可以了
      

  2.   

    delete from kucun_rizhi where datadiff("mm",日期,strdate)=0
      

  3.   

    delete from kucun_rizhi where 日期 > '2006-3-1 00:00:00'  and  日期  < '2006-3-31 23:59:59'
      

  4.   

    delete from kucun_rizhi where CAST(日期 AS varchar(20)) > '%2006-03%'
      

  5.   

    要看你用什么数据类型定义的日期字段,
    如果是字符类型,那么要将strdate="2006-3"变成strdate="'2006-3'"才可以;
    如果你用的是日期类型的,那就要进行日期类型转换,实现从字形类型到日期类型的转换函数不同的DBMS有不同的名称和使用方法,你可以自己根据你使用的数据库类型来具体实现
      

  6.   

    delete from kucun_rizhi where Convert(varchar(20), 日期 ,20 ) like '%2006-03%'
      

  7.   

    delete from kucun_rizhi where convert(datetime,日期) like '"+strdate+"'
      

  8.   

    你先在access里面试验一下自己的sql语句是否可以执行,然后修改一下,应该就可以
      

  9.   

    convert用cstr替换
    详情参看
    http://community.csdn.net/Expert/TopicView3.asp?id=4439810