各位大哥:
   小弟有问题想请教.请多多指教.
   数据库中的工资表有:年,月,编号,以及一些工资数据.
   怎么把上月的工资表中的固定数据查找出来.比如用户要输入6月份数据就可以直接把5月份固定不变的工资数据查询出来.比如说2005年1月的下个月是2004年的12月,在这个问题上我应该如何转换?我用SQL语句应该如何进行查询?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      AdoQuery1.Close;
      AdoQuery1.SQL.Text :=
        'Select * from tablename ' +
          'where convert(varchar(7),[date])=' +
          QuotedStr(FormatDateTime('yyyy-mm', IncMonth(Now, -1)));
      AdoQuery1.Open;
    end;
      

  2.   

    用DATETINEPICKER可以啊,在那里选择月份,然后得到前一月的,如果不嫌麻烦,就多来几个判断!
      

  3.   

    //使用一个DateTimePicker选择输入日期;
    //下面是查询比DatetimePicker小一个月的数据;
    with AdoQuery1 do
      begin 
        close;
        sql.clear;
        sql.add('select * from [table]');
        sql.add('where DATEDIFF(month, DateTimePicker.date, getdate())=1');
        open;
      end;
      

  4.   

    放2个DateTimePicker,根据DateTimePicker的date值生成sql语句。