Delphi之通过ADOX操作access数据库
来源:互联网 发布:十宗罪网络剧演员表 编辑:程序博客网 时间:2024/05/16 11:38
[学习笔记]Delphi之通过ADOX操作access数据库
作者:webfly 日期:2005-04-06
作者:扬帆 网站: Email:888fly@163.com 如转载请保留此版权信息
Delphi7支持ADO(Microsoft ActiveX Data Objects)的支持,使得Delphi程序员可以彻底摆脱BDE,缩小软件分发的体积。但是Delphi的ADO组件不支持ActiveX Data Objects Extensions for Data Definition Language and Security(ADOX、ADO的扩展,用于创建、修改和删除模式对象,如表格和过程;操作安全对象,可用于维护用户和组,以及授予和撤消对象的权限) 和Jet and Replication Objects(JRO,用于对Jet数据库引擎添加压缩、同步复制等特征),这些功能在开发Access数据库往往比较重要。不过由于ADOX、JRO乃至ADO都是基于COM(Component Object Model,组件对象模型)的,可以调用COM来来实现这些功能。
delphi7中的使用方法:
方法一:
要求:开发平台或客户端需要安装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”,将Class Name中TTable改为TADOXTable(因为TTable组件在Delphi中已经存在并注册);选择“Microsof Jet and Replication Object 2.x Library”。然后单击“Install”安装,便在Delphi的Imports目录下生成ADOX_TLB.pas和JRO_TLB.pas两个文件。在Unit文件的Uses中加入ComObj、ADOX_TLB、JRO_TLB,就可以通过COM操作ADOX和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。
在 Column 对象追加到集合或到另一个对象之前,该属性是可读/写的,而在追加之后是只读的。
- Delphi之通过ADOX操作access数据库
- Delphi之通过ADOX操作access数据库
- Delphi之通过ADOX操作access数据库的方法
- Delphi之通过ADOX操作access数据库的方法
- ADOX创建Access数据库
- ADOX加密access数据库
- ADOX-创建Access数据库
- 如何通过使用 ADOX 和 VisualC # .NET 创建 Access 数据库
- 通过ADOX建立Access(MDB)数据库 (VB、ASP版)
- ADOX动态创建access数据库
- ADOX创建ACCESS数据库(2)
- DELPHI中操作ACCESS数据库
- DELPHI中操作ACCESS数据库
- DELPHI中操作ACCESS数据库
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 应用Eclipse开发GIS之路-----------Eclipse了解初始篇
- java设计模式之Strategy (策略)
- DataGridView控件用法合集(十二)
- 读取/书写Java的XML格式properties文件
- 大数据量下的C#分页
- Delphi之通过ADOX操作access数据库
- java设计模式之Observer(观察者)
- 解决 'Could not convert variant of type (NULL) into type (String)'
- java设计模式之Composite(合成)
- Oracle 游标使用大全(一)
- 在Applet中实现页面的跳转
- DataGridView控件用法合集(四-八)
- #ifdef的用法
- 热烈祝贺逐浪CMS1.0发布