ADOTable,怎么动态创建数据表?!!!

解决方案 »

  1.   

    sql.clear;
    sql.add('creat table "name.db"(日期 date,姓名 char(10))');
    execsql;
      

  2.   

    ADOTable不行,要ADOQuery,ADODataSet
      

  3.   

    用query来excute执行sql语句可以吧
      

  4.   

    adoTable不行,用其他控件吧
    比如Tquery
      

  5.   

    procedure CreateDB();
    var
      Query:TADOQuery;
    begin
      ConString:='Provider=SQLOLEDB.1;Password='+PW+';Persist Security Info=True;User ID='+UID+';Data Source='+SourceName;  try
        Query:=TADOQuery.Create(nil);
        Query.ConnectionString:=ConString+';Initial Catalog=Master';
        Query.Close;
        Query.SQL.Clear;
        Query.SQL.Add('select * from sysdatabases');
        Query.SQL.Add('where name=''cjtj'';');
        Query.Open;
        if Query.RecordCount>=1 then
        begin
          if MessageDlg('数据库名为:"cjtj"的数据库已经存在,是否删除该数据库?',mtInformation,[mbYes,mbNo],0)=mrYes then
          begin
            try
              SqlStr:='drop database cjtj;';
              Query.Close;
              Query.SQL.Clear;
              Query.SQL.Add(SqlStr);
              Query.ExecSQL;
            except
              MessageDlg('无法删除该数据库,该数据库正在使用!',mtError,[mbYes],0);
              Abort;
            end;
          end
          else
          begin
            Abort;
          end;
        end;
      except
        Query.Close;
        Query.Free;
      end;  SqlStr:='create database cjtj';
      try
        Query.Close;
        Query.SQL.Clear;
        Query.SQL.Add(SqlStr);
        Query.ExecSQL;
        Query.Close;
        Query.Free;
      except
        Query.Close;
        Query.Free;
        MessageDlg('创建数据库时出现错误!',mtError,[mbYes],0);
      end;
    end;
      

  6.   

    ADOTable没有sql属性, 无法动态的执行sql语句!你可以使用ADoQuery来建立。 
      

  7.   

    最好还是用ADOX_TLB中的接口吧,建库用_Catalog建表用_Table