两个edit控件,分别输入数据库名和表名。
要求点button,dbgrid控件就显示相应数据库中的相应表。
数据库为access,通过odbc使用。
我用
table1.databasename:=edit1.text;
table1.tablename:=edit2.text;
table1.active:=true;
不行。
开发环境下是这样建立dbgrid和数据表的联系的吧
为什么运行起来不行呢?
报错的大概意思是数据源中没有edit1.text名称的表

解决方案 »

  1.   

    楼主这样试试看var
      tb:TTable;
    begin
     tb:=TTable.Create(self);
     tb.DataBaseName:=edit1.text;
     tb.TableName:=edit2.text;
     tb.Open;
    ...
    ...
    end;
      

  2.   

    因为你用的是ODBC,在运行时,即要动态变动库(access文件),又要动态修改表,所以,你得先编写一段代码,改变该ODBC数据源所对应得access文件,然后才能往下作。
      

  3.   

    table1.databasename:=#39+edit1.text+#39;
    table1.tablename:=#39+edit2.text+#39;
    table1.active:=true;
      

  4.   

    怎么不用BDE连接? 那样方便很多。用ODBC就如 VeryOldMan(老者) 所说的那样。
      

  5.   

    加一个database把他和table,以及dbgrid连一下不就可以了吗