回 帖 发 新 帖 刷新版面

主题:Delphi判断日期(年份)大于/小于的问题.

access数据库

题目如下:
1、RadioButton单选项选择"年份"条件:
RadioButton1大于两年
RadioButton2大于两年-小于六年
RadioButton3小于六年

2、中奖人数的姓名:3人(姓名不得重复!)

要求:在选择好的RadioButton里随机抽选3人的姓名并显示出来.

代码如下:
Var
  Form1:TForm1;
  stop1:boolean;

Procedure TForm1.StopClick(Sender:TObject);
Var
  A:Array Of String;
  i:integer;
Begin
  stop1:=false;
  label1.Caption:=('以下是中奖人姓名:');
  label2.Caption:=('');

  Stop.Enabled:=false;
  Start.Enabled:=true;

  With ADOQuery1 Do
    Begin
      Close;
      SQL.Text:='Select Top '+edit1.text+' * From Lucky_From Where DateAdd(yyyy,2,Year)>Now() Order By Rnd(year)';
      Open;
      SetLength(A,ADOQuery1.FieldCount);
      For i:=0 To ADOQuery1.FieldCount-1 Do
        Begin
          A[i]:=FieldByName('year').Value;
        End;
    End;

  memo1.Clear;
  While Not dbgrid1.DataSource.DataSet.Eof Do //遍历dbgrid1
    Begin
      Memo1.lines.add(('恭喜您工号为:'+(Form1.DBGrid1.Columns.Grid.Fields[1].Text)+'  姓名为:'+(Form1.DBGrid1.Columns.Grid.Fields[2].Text)+'的朋友.'+#13));
      DBGrid1.DataSource.DataSet.Next;
    End;
End;



'Select Top '+edit1.text+' * From Lucky_From Where DateAdd(yyyy,2,Year)>Now() Order By Rnd(year)';
运行提示错误:yyyy没有默认值.麻烦前辈们指教!

回复列表 (共1个回复)

沙发


少了引号吧,yyyy改成“yyyy”

我来回复

您尚未登录,请登录后再回复。点此登录或注册