Delphi之通过ADOX操作access数据库
delphi7中的使用方法:
方法一:
推荐使用ajb_adox 控件包
要求:开发平台或客户端需要安装MDAC 2.1数据库引擎,你可以从微软公司http://www.microsoft.com/data下载,也可以在安装IE5.0中选择定制安装“动态数据绑定”选项。
在Delphi IDE中选择菜单ProjectImport Type Library,出现Import Type Library对话框,选择“Microsoft ADO Ext. 2.x for DDL and Security”,The ADOX library file name is Msadox.dll.
将Class Name中TTable改为TADOXTable(因为TTable组件在Delphi中已经存在并注册);
3a. Change "TTable" to "TADOXTable"
3b. Change "TColumn" to "TADOXColumn"
3c. Change "TIndex" to "TADOXIndex"
3d. Change "TKey" to "TADOXKey"
3e. Change "TGroup" to "TADOXGroup"
3f. Change "TUser" to "TADOXUser"
3g. Change "TCatalog" to "TADOXCatalog"
4. Press Install button (rebuilding packages)
选择“Microsof Jet and Replication Object 2.x Library”。然后单击“Install”安装,便在Delphi的Imports目录下生成JRO_TLB.pas文件。在Unit文件的Uses中加入ComObj、JRO_TLB,就可以通过COM操作JRO对象了。
这样在组件面板的activex中找到这些组件,放一个Catalog1到表单上,然后加个按钮,加入单击动作
procedure TForm1.Button1Click(Sender: TObject);
begin
Catalog1.Create1(’Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb’);
end;
这样,我们简单的就实现了在c:\下建立一个新的access数据库new.mdb,你可以编译一下看看效果如何
方法二::通过OLE方式创建
在引用部分加入:
uses ComObj;
实现部分:
procedure TFormOffice.BitBtn1Click(Sender: TObject);
var
CreateAccess:OleVariant;
begin
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Aceco.mdb');
end;
===============================================================================================================
创建表的方法(ole方法):
procedure TForm1.Button3Click(Sender: TObject);
var
ConnectAccess:OleVariant;
CreateMyTable:OleVariant;
begin
ConnectAccess:=CreateOleObject('ADOX.Catalog');
ConnectAccess.ActiveConnection:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFileDir(Application.Exename)+'\data\'+Edit2.Text;
CreateMyTable:=CreateOleObject('ADOX.Table');
CreateMyTable.Name:=Edit3.Text;
CreateMyTable.Columns.Append(Edit4.Text,adInteger);
CreateMyTable.Columns.Append(Edit5.Text,adVarWChar,50);
ConnectAccess.Tables.Append(CreateMyTable);
end;
以下是字段常量参数表
常量 | 说明 |
adTinyInt | 精确的数字值,精度为小数点后 3 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdSmallInt | 精确数字值,精度为小数点后 5 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdInteger | 精确数字值,精度为小数点后 10 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdBigInt | 精确数字值,精度为小数点后 19 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdUnsignedTinyInt | 无符号的 adTinyInt。 |
AdUnsignedSmallInt | 无符号的 adSmallInt。 |
AdUnsignedInt | 无符号的 adInteger。 |
AdUnsignedBigInt | 无符号的 adBigInt。 |
AdSingle | 单精度浮点数。 |
AdDouble | 双精度浮点数。 |
AdCurrency | 货币类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdDecimal | 变体型十进制类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdNumeric | 数值类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdBoolean | 变体布尔类型。0 为假而 ~0 为真。 |
AdUserDefined | 用户定义的变量长度数据类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdVariant | 自动变体型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdGuid | 全域唯一标识符。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdDate | 自动日期。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdDBDate | 数据库日期数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdDBTime | 数据库时间数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdDBTimestamp | 数据库时间戳结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdBSTR | BSTR 的指针。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。 |
AdChar | 定长字符串。 |
AdVarChar | 变长字符串。 |
AdLongVarChar | 长变长字符串。 |
AdWChar | 宽定长字符串。 |
AdVarWChar | 宽变长字符串。 |
AdLongVarWChar | 长、宽变长字符串。 |
AdBinary | 定长二进制数据。 |
AdVarBinary | 变长二进制数据。 |
AdLongVarBinary | 长变长二进制数据。 |
说明
默认值是 adVarWChar。