WINSOFT DAO Database Collection是Delphi 和 C++ Builder 组件,用于使用 DAO(数据访问对象)和 ACEDAO 访问 MS Access 数据库。dolphin编写器可以在不使用BDE引擎的情况下直接访问数据库,也可以直接通过DAO和ACEDAO访问数据库。由于DAO或数据访问对象比旧技术更快,使用这台计算机将加速它们在程序中的性能。
8、在应用程序中分发组件免版税
使用说明
1、如何创建新的访问数据库?
GetDBEngine.CreateDatabase('C:\database.mdb', dbLangGeneral, EmptyParam);
2、如何压缩 Access 数据库?
GetDBEngine.CompactDatabase('C:\database.mdb', 'C:\newdb.mdb', EmptyParam, EmptyParam, EmptyParam);
您可以使用其他参数来指定目标区域设置:
GetDBEngine.CompactDatabase('C:\database.mdb', 'C:\newdb.mdb', dbLangCzech, EmptyParam, EmptyParam);
对于数据加密/解密,请使用 dbEncrypt/dbDecrypt 常量:
GetDBEngine.CompactDatabase('C:\database.mdb', 'C:\newdb.mdb', '', dbEncrypt, EmptyParam);
GetDBEngine.CompactDatabase('C:\database.mdb', 'C:\newdb.mdb', '', dbDecrypt, EmptyParam)
对于数据库格式转换,请指定新的数据库格式:
// dbVersion10 - Jet 1.0 format
// dbVersion11 - Jet 1.1 format
// dbVersion20 - Jet 2.0 format
// dbVersion30 - Jet 3.0 and 3.5 formats
// dbVersion40 - Jet 4.0 format
GetDBEngine.CompactDatabase('C:\database.mdb', 'C:\newdb.mdb', '', dbVersion30, EmptyParam);
对于受密码保护的数据库,将密码指定为最后一个参数:
GetDBEngine.CompactDatabase('C:\database.mdb', 'C:\newdb.mdb', EmptyParam, EmptyParam, ';pwd=MyPassword');
3、如何修复损坏的数据库?
GetDBEngine.RepairDatabase('C:\database.mdb');
4、如何从 Acess 数据库中删除表?
DAODatabase.DeleteTable('MyTable');
如何从表中删除所有记录?
DAODatabase.EraseTable('MyTable');
5、如何在运行时找到所有可用的表和查询?
with DAODatabase.TableDefs do
for i := 0 to Count - 1 do
ShowMessage('Table: ' + Item[i].Name);
with DAODatabase.QueryDefs do
for i := 0 to Count - 1 do
ShowMessage('Query: ' + Item[i].Name);
6、如何避免显示 DAO 异常?
procedure TForm1.DAODatasetDAOError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);
begin
Action := daAbort;
end;