大家好,我是一个大二学生这学期刚学编程,可能问的问题有些幼稚。我现在遇上了一个delphi 中sql语句使用整型变量的问题
具体如下
procedure TForm1.Timer1Timer(Sender: TObject);
var
  i:Integer;
begin
  for i:=1 to 100 do
  begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select ip from abc where 编号 i');
  ADOQuery1.Open;
  IdUDPClient1.Host:=ADOQuery1.fieldbyname('ip').AsString;
  end;
end;这段程序总是抱错,不能这样使用变量,请问这段程序正确的写法是什么呢。各位大牛请你们帮帮忙,谢谢拉

解决方案 »

  1.   


     ADOQuery1.SQL.Add('select ip from abc where 编号 = ' +  IntToStr(i));
      

  2.   

    sololie 老师您好,我还是不太明白,我的编号设置的是整型,为什么要转化成字符串型呢?
      

  3.   

    因为ADOQuery1.SQL.Add() 这个函数需要一个sql语句做参数,sql语句自然就是字符串类型。
    'select ip from abc where 编号 = '   // ''里的内容是字符串
    IntToStr(i) // 函数返回一个字符串, 假设i 为100
    'select ip from abc where 编号 = ' +  IntToStr(i) // 即两个字符串拼接
    // 拼接后的结果就是如下这个字符串
    'select ip from abc where 编号 = 100' 
    你需要先学习sql基础
      

  4.   

    谢谢您,主要是我学习delphi时用到了一个数据库,数据库的知识我们还没有开。下去一定好好学。劳动节快乐
    @sololie