Var
 selectinfo,s_Sql:string;
 begin
  selectinfo:=trim(Listbox1.selected);
  if selectinfo<>'' then
 s_Sql:='select * from '+selectinfo+'';
 with ADOQuery do
 begin
  do something
 end;
 end;

解决方案 »

  1.   

    ('select * from'+char(39)+listbox1.Items[ListBox1.SelCount]+char(39))
      

  2.   

    sql.close
    sql.clear;
    sql.add('select * from '+''''+listbox1.items[listbox1.selcount]+'''');
    open;
      

  3.   

    用combobox列表名应该简单点。
    sql.text:='select * from '+combobox.text;
      

  4.   

    其实主要问题是如何得到所选项的文本内容,我觉得应该是这样:
    listbox1.Items[listbox1.ItemIndex]就是所选项的文本内容
    sql你自己写吧
      

  5.   

    property Selected[Index: Integer]: Boolean;你的listbox1.Selected的属性是bool的,错在这。方法用real_life的就行。
      

  6.   

    我改成这样但提示查询语句不完整。
    SQL.Add('select * from'+char(39)+listbox1.Items[listbox1.itemindex]+char(39));不知是那儿错了。
      

  7.   

    把你那两个char(39)去掉,
    from后面的名字不用''
      

  8.   

    你是用什么数据库,如果是用LOCAL SQL,则是
    SQL.Add('select * from "'+listbox1.Items[listbox1.itemindex]+'"');
    如果是ORACLE之类的话,则是
    SQL.Add('select * from '+listbox1.Items[listbox1.itemindex]);
    from后面都有一个空格。
      

  9.   

    把你那两个char(39)去掉,
    from后面的名字不用''
      

  10.   

    我觉得应该是这样,不知道可不可以,我试过了,可以的
    sql.add('select * from "'+listbox1.items[listbox1.itemindex]+'"')
    from后面有一个空格
      

  11.   

    如果下面还有语句的话,比如:sql.add('where .......'),那么上一句的
    末尾"后面有一个空格就行了