+ -
当前位置:首页 → 问答吧 → delphi中查询的实现

delphi中查询的实现

时间:2011-12-18

来源:互联网

ADOQuery1.Parameters.ParamByName('年度').DataType:=ftinteger;


出现错误说是:missing operator or semicolon
为什么?

全部的代码为
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if edit1.Text='' then
  begin
  showmessage('请输入订单年度时间');
  edit1.SetFocus;
  end
  else
  if(trim(edit1.Text)<>'') then
  begin
  if ADOQuery1.Active then
  ADOQuery1.Active:=false;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select * from 订单车信息');
  ADOQuery1.SQL.Add('where 年度= '+edit1.Text)
  ADOQuery1.Parameters.ParamByName('年度').DataType:=ftinteger;
  ADOQuery1.Parameters.ParamByName('年度').Value:=trim(edit1.Text);
  ADOQuery1.CursorType:=ctkeyset;
  ADOQuery1.LockType:=ltbatchoptimistic;
  ADOQuery1.Open;
  end;
end;

作者: llp09148607790   发布时间: 2011-12-18

你这个SQL语句也没有定义参数,所以你这个“年度”不是参数,把那两句删了。

作者: Oraclers   发布时间: 2011-12-18

Delphi(Pascal) code
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if trim(edit1.Text)='' then
  begin
    showmessage('请输入订单年度时间');
    edit1.SetFocus;
  end else
  with ADOQuery1 do
  begin  
    Close;
    SQL.Clear;
    SQL.Add('select * from 订单车信息');
    SQL.Add('where 年度='+Quotedstr(edit1.Text));(年度如果是文本类型,要加单引号)
    Open;
  end;
end;

作者: kaikai_kk   发布时间: 2011-12-18