procedure TForm1.StartClick(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT 学号');
Query1.SQL.Add('FROM classmates');
Query1.SQL.Add('WHERE 年龄<:number');//这个number跟后面的Edit1.Text什么关系的?
Query1.Params[0].AsString:=Edit1.Text;//Params[0].AsString是什么意思的?
Query1.Prepare;//什么意思?
Query1.Open;
end;
上述完成查询出小于Edit1.Text年纪的人的表。
另:1.如果'年龄'在表中设的不是文本型,而是数字型,要怎么改?
  2.在哪里可以学到查询的相关知识,推荐一下吧。

解决方案 »

  1.   

    1.Query1.Params[0].AsString:=StrToInt(Edit1.Text);//-------------------------------------------------
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select 学号 from classmates where 年龄 <'+''''+Edit1.Text+'''');
    Query1.Open;
      

  2.   

    Query1.Params[0].AsString:=Edit1.Text;//把数据库里的第一个字段用Edit1.Text赋值
    数字型的:where 年龄<= strtoint(Edit1.Text);
    查询无所谓就是熟练的SQL语句可以参考SQL2000(中文的)的帮助
      

  3.   

    Query1.SQL.Add('WHERE 年龄<:number');//这个number跟后面的Edit1.Text什么关系的?
    它参数,下面也可写为Parameters.ParamByName('number').AsString:=edit1.text;
    Query1.Params[0].AsString:=Edit1.Text;//Params[0].AsString是什么意思的?
    给参数值。
    Query1.Prepare;//什么意思?//准备的意思,这是步骤!
    另外:EDIT1是需要写程序控制的,如果是数字,那么就不是ASSTRING;
      

  4.   

    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select 学号 from classmates where 年龄 <' + Edit1.Text);
    Query1.Open;
      

  5.   

    1.如果'年龄'在表中设的不是文本型,而是数字型,要怎么改?
    也可以用Query1.Params[0].Asfloat:=strtoflaot(Edit1.Text)
      

  6.   

    <<Query1.SQL.Add('WHERE 年龄<:number');//这个number跟后面的Edit1.Text什么关系的?
      nuber与edit1.text 没有什么关系,将它们联系在一起的是Query1.Params[0]
    <<Query1.Params[0].AsString:=Edit1.Text;//Params[0].AsString是什么意思的?
      查询语句里面第一个参数     并且该参数是字符串类型<<另:1.如果'年龄'在表中设的不是文本型,而是数字型,要怎么改?
    <<  2.在哪里可以学到查询的相关知识,推荐一下吧。
      1 Query1.Params[0].AsInteger := StrToInt(Edit1.text);
      2 数据库帮助文件  数据库方面书籍