我用adoquery创建一个表:
    adq.Close;
    adq.SQL.Clear;
    sqlstr:='create table tablename ( [标题] char(30))';
    adq.SQL.Add(sqlstr);
    adq.ExecSQL;
执行以上代码以后,数据库(access)中有出现新建的表,但是我马上通过adotable访问却出错:
    adotable.active:=false;
    adotable.tablename:=tablename;
    adotable.active:=true;
出错信息告诉我没有找到"tablename"这个表请问这是什么问题?是不是adoquery创建表以后没有更新?

解决方案 »

  1.   

    用的是access
    怎么提交事务?
      

  2.   

    用的可是一个数据库连接!数据集都用一个adoconnection控件连接试试
      

  3.   

    我使用的是sql,你可以参考以下!
    procedure TForm1.Button1Click(Sender: TObject) ;
    begin
       adoquery1.Close ;
       adoquery1.SQL.Clear ;
       adoquery1.SQL.add('create table gzg(name varchar(8),xb int)');
       adoquery1.ExecSQL ;end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      adotable1.Active:=false;
      adotable1.TableName:='gzg';
      adotable1.Active:=true;
    end;
    测试通过!