想查一个学生表的信息
想从学号sno到学号sno 间的学生,两个学号分别输入到edit2,edit3
begin
query1.sql.Add('select *');
query1.SQL.Add(' from student' );
query1.sql.Add(' where sno between :num1 and :num2');
query1.parambyname('num1').asstring:=edit2.text;
query1.parambyname('num2').asstring:=edit3.text;
query1.Prepare;
query1.open;
end;
上面出了错.请大家帮我看一下,哪里有问题,或有没有更好的办法
帮我顶的都会有分!!!

解决方案 »

  1.   

    说第三行的查询有误...不能查
    query1.sql.Add(' where sno between :num1 and :num2');就是这句
      

  2.   

    var
      strsql :string;
    begin
      strsql :='select * from student where sno between ''' +trim(edit2.text) +
                '''   and  ''' +trim(edit3.text) +'''';
      query1.SQL.Add(strsql);
      query1.open;
      

  3.   

    SQLString := Format('select * from student where sno between ''%s'' and ''%s''',[edit2.text, edit3.text]);
    query1.SQL.Add(SQLString);
    query1.open;
      

  4.   

    strsql :='select * from student where sno between '+#39 +trim(edit2.text) +
                +#39    and  +#39 +trim(edit3.text) ++#39 ;
      

  5.   

    begin
    query1.Close;
    query1.sql.clear;
    query1.sql.Add('select *');
    query1.SQL.Add(' from student' );
    query1.sql.Add(' where sno between '':num1'' and '':num2''');
    query1.parambyname('num1').asstring:=edit2.text;
    query1.parambyname('num2').asstring:=edit3.text;
    query1.Prepare;
    query1.open;
    end;