ado连接sql数据库,动态创建有固定字段和“不固定字段”(来自另一个表)的sql表,创建表成功,但表中固定字段有,但是“不固定字段”没有,怎么写?我的代码如下:
//检查汇总目录表中是否已存在该表{我把创建成功的表名都放在“汇总目录”表中}
  adoquery3.Close;
  adoquery3.SQL.Clear ;
  adoquery3.SQL.Add('select 表名 from 汇总目录');
  adoquery3.Open ;
  kg:=true;
  with adoquery3 do
    begin
      while not eof do
      begin
        if  cxtextedit1.Text=fieldbyname('表名').AsString then kg:=false;
        next;
      end;
    end;
  if kg=false
    then showmessage('此表已经存在,请更换名称,或先删除该表。')
    else
      begin
       //向汇总目录表中添加数据
        adoquery3.Close;
        adoquery3.SQL.Clear;
        adoquery3.SQL.Add('Insert into 汇总目录');
        adoquery3.SQL.Add('values('''+cxtextedit1.Text+''')');
        adoquery3.ExecSQL ;
        //创建一个汇总表的固定字段
        adoquery3.Close ;
        adoquery3.SQL.Clear ;
        adoquery3.SQL.Add('create table '+cxtextedit1.Text+'(编号 int,姓名 nvarchar(10),总分 int,名次 int)') ;
        //创建汇总表的不固定字段,来自cm_1表的xmmc字段。
        adoquery2.Close;
        adoquery2.SQL.Clear;
        adoquery2.SQL.Add('select xmmc from xm_1');
        adoquery2.Open;
        with adoquery2 do
          begin
            while not eof do
              begin
                xm:=fieldbyname('xmmc').AsString ;
                {adoquery3.SQL.Add('alter table'+cxtextedit1.Text+'add column'+xm+'int');}
                next;
              end;
        adoquery3.ExecSQL ;
        adoquery3.SQL.Clear ;
        showmessage('数据表创建完成!');
      end;
  end;
通过ado的query或table如何删除sql表,代码怎么写?

解决方案 »

  1.   

    sql语句中实现
    语句为drop table tablename
      

  2.   

    Drop Table
    楼主用中文命名表和字段似乎有点自寻烦恼...呵呵
      

  3.   

    不是啊
    中文其实也好啊
    创建表我刚才已经成功了
    很不错啊,原来只是多了个column,为什么add column中不能有column,怪,呵呵。
    现在主要是删除表不行,我也知道  drop table tablename,可不行啊 我再试试
      

  4.   

    drop table [tablename]
      

  5.   

    var
      sSql : string;
    begin
      sSql := ' create table TestTableName ( ' +
              ' aTest varchar2(4),' +
              ' bTest number(19,6))';   //新加表
      with AdoQuery1 do begin
        close;
        sql.clear;
        sql.add(sSql);
        ExecSql;  
      end;
    end;
    //删除表可将sSql写成: sSql := ' Drop table TestTableName ';
    //修改表可将sSql写成: sSql := ' Alter TestTableName ......';