在DELPHI源程序中如何动态创建ACCESS数据库及当即建表文件,
如何能够写出源代码者。给于重分。。
在程序中动态添加的ACCESS数据库名为STUDENT,其中有二个表。表一名为XSXX,有二个字段XS_NAME (char 8),XS_LN(INT)
表二名为KSCJ,字段也是二个XS_NAME (CHAR 8) HG(BOOLEAN)
,请跟贴的时候写出源代码。谢谢!

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    var AccessDB:OleVariant;
    begin
      try
      AccessDB:=CreateOleObject('ADOX.Catalog');
      AccessDB.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\mydb.mdb');
      finally
      AccessDB:=VarNull;
      end;
    end;
    建表直接用ADOQuery1.sql.add('create table okok(a int,b char(20))');
    明白了吧!
      

  2.   


     不知道server组件是否有这个功能
      

  3.   

    简练的写写吧 主要还是自己想代码 别人只是提供思路 你说我说的对吗?
    use master sreate database 表建立新的数据库
    至于怎么建立表
    CREATE TABLE 表的名称 (
    字段名称 类型 
    ............)
    GO
    主要的思路就是这样的 你在考虑考虑吧
      

  4.   

    Const
      SConnectionString       = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
                                    +'Jet OLEDB:Database Password=%s;';
    function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
    //建立Access文件,如果文件存在则失败
    var
      STempFileName:string;
      vCatalog:OleVariant;
    begin
      STempFileName:='d:\temp\123.mdb';
      try
        vCatalog:=CreateOleObject('ADOX.Catalog');
        vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
        result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
        DeleteFile(STempFileName);
      except
        result:=false;
      end;
    end;
    Create Table Tab1 (
            ID Counter,
            Name string,
            Age integer,
            er  logical);
      

  5.   

    好象table就有这个功能。。createdata