用qry.add('select top '''+consum+''' from period');
这个时会出错,因为consum是字符型,怎么让他转成int型的呢?

解决方案 »

  1.   

    qry.add('select top '+consum+' * from period');
      

  2.   

    你直接定义consum为整型就不用转换了或strtoint(consum)
      

  3.   

    qry.add('select top '+consum+' * from period');你原句中的单引号用多了....还可以这样qry.add('select top '+Edit1.Text+' * from period');刚测试通过....用的ADOQUERY
      

  4.   

    qry..Add(format(' select top  %d from period ',[consum]));
    这个样子也可以
      

  5.   

    显式转换使用 CAST 或 CONVERT 函数   语法
       使用 CAST:
       CAST ( expression AS data_type ) 
       qry.add('select top Cast('+Edit1.Text+' as int) * from period');   使用 CONVERT:
       CONVERT (data_type[(length)], expression [, style])
       qry.add('select top (int,'+Edit1.Text+') * from period');
      

  6.   

    寫少了
    显式转换使用 CAST 或 CONVERT 函数   语法
       使用 CAST:
       CAST ( expression AS data_type ) 
       qry.add('select top Cast('+Edit1.Text+' as int) * from period');   使用 CONVERT:
       CONVERT (data_type[(length)], expression [, style])
       qry.add('select top CONVERT(int,'+Edit1.Text+') * from period');
      

  7.   

    可以通過:
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
           Query1.close;
           Query1.SQL.Clear;
           Query1.SQL.add('select top '+Edit1.Text+' * from Tbl1');
           Query1.open;
    end;end.