我本来打开Acess建立了一个数据库,里面包含3张表。通过ADOquery,datasource,以及DBEdit等控件,可以实现对数据库里面表格的各种操作。但是,我现在需要点击新建按钮,新建我已建立好的3张空白表格模板,然后对表格进行操作后保存该表格。下次可以通过打开控件,打开该已经更改后的表格。同时也可以按新建按钮,生成另外一个空白数据库。
请问如何实现数据库的新建、保存和打开的相关功能呢?
请各位告诉帮忙,谢谢

我试试,谢谢

Access数据库本来就是一个文件,你可以手工建立好后放在应用的某个目录下,新建的时候可以只是简单的复制那个mdb文件为另一个文件就可以了,打开的时候可以用一个“打开对话框”去选择文件或者保存在配置文件里面的,更好些的是可以另外建立一个用户数据库(只有用户表,含用户名、密码,数据库文件路径)来管理

上面是BCB5。0时的程序,在6。0下,AnsiString要改成WIdeString,
否则显示变量类型不对!
void  CreateAccess(String mdb,String psw)
{
      if (!FileExists(mdb))
          {
              WideString s="Provider=Microsoft Jet 4.0 OLE DB Provider";
              WideString s2="Jet OLEDB:Database Password="+psw;
              Variant AdoObj=Variant::CreateObject("ADOX.Catalog");
              AdoObj.OleProcedure("Create",
                        s+";"+"Data Source="+mdb+";"+s2);
              AdoObj.Clear();
          }
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
      CreateAccess("d:\\test.mdb","");
}

谢谢

4LZJ

C/C++ code
上面是BCB5。0时的程序,在6。0下,AnsiString要改成WIdeString, 否则显示变量类型不对! void CreateAccess(String mdb,String psw) { if (!FileExists(mdb)) { WideString s="Provider=Microsoft Jet 4.0 OLE DB Provider"; WideString s2="Jet OLEDB:Database Password="+psw; Variant AdoObj=Variant::CreateObject("ADOX.Catalog"); AdoObj.OleProcedure("Create", s+";"+"Data Source="+mdb+";"+s2); AdoObj.Clear(); } } void __fastcall TForm1::Button1Click(TObject *Sender) { CreateAccess("d:\\test.mdb",""); }

4LZJ
上面是BCB5。0时的程序,在6。0下,AnsiString要改成WIdeString,
否则显示变量类型不对!
void  CreateAccess(String mdb,String psw)
{
      if (!FileExists(mdb))
          {
              WideString s="Provider=Microsoft Jet 4.0 OLE DB Provider";
              WideString s2="Jet OLEDB:Database Password="+psw;
              Variant AdoObj=Variant::CreateObject("ADOX.Catalog");
              AdoObj.OleProcedure("Create",
                        s+";"+"Data Source="+mdb+";"+s2);
              AdoObj.Clear();
          }
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
      CreateAccess("d:\\test.mdb","");
}