tablename:=combobox1.text;
adoquery1.sql.add('select * from tablename:=tablename');
adoquery1.Parameters.ParamByName('tablename').value:=tablename;
adoquery1.open;
这样写正确吗?那么应该怎么写,combobox中列出一个数据库中的表,然后选择相应的表,进行查看

解决方案 »

  1.   

    adoquery1.sql.clear;
    adoquery1.sql.add('select * from tablename:=tablename');
    adoquery1.Parameters.ParamByName('tablename').value:=combobox1.text;;
    adoquery1.open;
      

  2.   


    adoquery1.sql.add('select * from ' + combobox1.text);
    adoquery1.open;
      

  3.   

    最好用try.....Except     end
    不然如果表名不存在会有异常的
      

  4.   

    try
    adoquery1.sql.add('select * from ' + quotedstr(combobox1.text));
    adoquery1.open;
    except
    .
    .
    .
    end
      

  5.   

    .value
    .AsString
    .Integer
    有什么区别?
      

  6.   

    adoquery1.sql.add('select * from tablename:=tablename');
    adoquery1.Parameters.ParamByName('tablename').value:=combobox1.text;//这样是行不通的,不能用参数来指定表名
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    应该这样:
    adoquery1.sql.add('select * from '+combobox1.text);
      

  7.   

    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from ' + combobox1.text);
    try
    adoquery1.open;
    except
    showmessage('数据库中间不存在该表名');
    end;