adoquery1.SQL.Add('select * from '+combobox1.items[combobox1.itemindex]+' where 地址 like ''%'+edit1.Text+'%''');这条语句在我自已的机子上能通过,但在别人的机子上(没有装DELPHI6.0)通不过,报错:"list index out of bounds(0)"
打包用的是DELPHI6.0自带的。。是不是在做安装程序时要添加什么东西???

解决方案 »

  1.   

    错误在这里:
    combobox1.items[combobox1.itemindex]
    你自己的机器上combobox1有东西,但是别人的机器上未必有。
      

  2.   

    to:chechy(简简单单的活) 
    为什么会这样。。combobox1里我是事先输入的死项。共四个,全是表名。。
    全部程序如下:
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from '+combobox1.items[combobox1.itemindex]+' where 地址 like ''%'+edit1.Text+'%''');
     try
      begin
       adoquery1.Open;
       if adoquery1.RecordCount<=0 then
        showmessage('没有找到你输入的数据!');
      end
     except
        showmessage('数据查询出错!')
     end;首先报:    showmessage('数据查询出错!')这句提示后。。再报:list index out of bounds(0)"
    帮我呀。。CSDN。。明天要交用了。。测一下就这个错误。。我倒
      

  3.   

    还有combobox1.ItemIndex默认值是-1,除非你选中的东西,没有选中就要出错。
      

  4.   

    我建议你单行跟踪,尤其要跟踪combobox1.ItemIndex的值。
      

  5.   

    看上面代码不象是这里出了错,你找找看别的地方有没有showmessage('数据查询出错!'),再跟踪。
      

  6.   

    TO:sysu(死树)
    只有一个事件。。就这一个提示全部在上面。。我倒 ̄ ̄ ̄規他妈想死。。晕了
    想不通的是。。我机子上全正确。全格!可到另一台计算机上。就不行了。。
      

  7.   

    我个人觉得,问题可能出在"combobox1.ItemIndex默认值是-1,除非你选中的东西,没有选中就要出错。"
    但如果,你说你的机器上调试没问题,那就要检查adoquery1.connectstring中的数据库路径,正常数据驱动是没问题的,但如有问题,也要检查!
    还有,我觉得代码有问题,改为如下:
    try
       adoquery1.Open;
     except
        showmessage('数据查询出错!');
        Exit;
     end;   if adoquery1.RecordCount<=0 then
        showmessage('没有找到你输入的数据!');
      

  8.   

    如果真是这样,我建议你在问题机器上安装Delphi,然后调试,如果没有问题,在查,有问题就可以马上解决了。
      

  9.   

    adoquery1.SQL.Add('select * from '+ComboBox1.Text+' where 地址 like ''%'+edit1.Text+'%''');
    就可以了!
    为什么要用combobox1.items[combobox1.itemindex]即使不出错也麻烦呀!
      

  10.   

    adoquery1.SQL.Add('select * from '+ComboBox1.Text+' where 地址 like ''%'+edit1.Text+'%''');
    就可以了!
    试试