adoquery是一个用来操作dataset的对象,不是用来创建表的对象,如果你要用sql创建一个表的话,你可以用adocommand对象,用相同的语句

解决方案 »

  1.   

    楼上错了,ADOQuery也可以创建表,其实ADOQuery,ADOCommand,ADOTable都是从一个ADO原生对象 RecordSet继承下来的,只是侧重不同罢了废话少说,解决问题,你试试这样改:
    with adoquery1 do
    begin
         close;
         sql.Clear ;
         sql.Add('create table '+dbedit1.Text+' (');《---修改
         sql.add('kemu_name varchar(30) not null');
         sql.Add('teacher varchar(30) not null');
         sql.Add('[time] numeric(15) not null');   《--修改
         sql.Add('chuqin_num numeric(15) null)');
         execsql;
    end;
      

  2.   

    看了你的程序,我认为
    sql.Add('create table '''+dbedit1.Text+'''(');
    有问题,表名不应该用单引号引起来,应改为
    sql.Add('create table '+dbedit1.Text+'(');试试看,对了别忘了给我加分呀!:)
      

  3.   

    还是不行运行是说create table 语句中语法错误
      

  4.   

    每一个字段后加逗号
    with ADOQuery1 do
    begin
         close;
         sql.Clear ;
         sql.Add('create table '+dbedit1.Text+' (');
         sql.add('kemu_name varchar(30) not null,');
         sql.Add('teacher varchar(30) not null,');
         sql.Add('[time] numeric(15) not null,');
         sql.Add('chuqin_num numeric(15) null)');
         execsql;
    end;