表tbl,有这3个字段:add_date,  point,  description.这个表是用来记录点数充值记录
我想实现这样的效果
1.让程序打开的时候只显示当月的充值记录,用adoquery来查询,sql要怎么写?
2.我想用两个edit来控制查询其他月份,edit1填年(比如2004,2005...),edit2填月份(1,2,3...12)
然后查询,sql怎么写?
请帮帮忙,谢谢~

解决方案 »

  1.   

    适合MS SQL,
    1、SQL语句 select add_date,  point,  description
    from tbl where Year(add_date)=YEAR(GetDate()) and Month(add_date)=Month(GetDate())2、
      adoquery.close;
      adoquery.sql.text :=' select select add_date,  point,  description '
        +' from tbl where Year(add_date)=:Y and Month(add_date)=:M ';
    adoquery.Parameters[0].Value =  StrToInt(edit1.text);
    adoquery.Parameters[1].Value =  StrToInt(edit2.text);
    adoquery.open;
      

  2.   

    1.让程序打开的时候只显示当月的充值记录,用adoquery来查询,sql要怎么写?select * from tbl where month(add_date)=:CurMonth2.我想用两个edit来控制查询其他月份,edit1填年(比如2004,2005...),edit2填月份(1,2,3...12)select * from tbl where year(add_date)=:mYear) and month(add_date)=:mMonth制定参数的值就可以了
      

  3.   

    var
       strEdit:string
    begin
       
       strEdit:=Edit1.Text '+' Edit2.Text;
       ADOQuery1.Close;
       ADOQuery1.SQL.Add('select * from tb1 where Tdate=:v1');
       ADOQuery1.Parameters.ParamByName('v1').value:=FormatdateTime('yyyy-mm-dd',strtodate(strEdit));