`

Delphi之通过ADOX操作access数据库的方法

 
阅读更多
Delphi之通过ADOX操作access数据库的方法
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

分享到:
评论

相关推荐

    用ADOX建立Access数据库文件

    用ADOX建立Access数据库文件 用ADOX建立Access数据库文件 用ADOX建立Access数据库文件

    利用ADOX获取Access数据库字段的所有属性

    一直以来都用SQL语句来操作Access,但发现有些Access字段的属性不能用SQL来操作,在网上搜索了一些资料后,才了解了一些用ADOX设定字段的方法,为了方便了解这些字段的属性,就先自己建立一个Access数据库,然后创建...

    VC++6.0使用ADO开发ACCESS数据库静态库脱机2.0.rar

    本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别...

    VC ADO ACCESS操作实例.rar

    VC ADO技术操作 ACCESS的一些实例,主要是一些数据库的基本操作,比如添加、删除、修改数据,查看数据库内容等,重点是ADO在VC 中的用法。通过实例演示如何在VC 中使用ADO进行ACCESS数据库编程,并对涉及到的几个...

    易语言指令创建access数据库

    使用易语言创建空白Access数据库(*.mdb),经搜索贴子并总结如下:。方法一:。打开一个对话框,然后输入要创建的数据库名称,选择好路径后保存。这是通用方法,核心就是:。创建数据库.创建 (“ADOX.Catalog”, )...

    VC++使用ADO开发ACCESS数据库

    (有随书例程)本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,...

    自学VC++2010实例【003】;用ADO方法在ACCESS2010数据库中修改一条记录

    在VC++2010用ADO方法在ACCESS2010数据库中修改一条记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者:...

    自学VC++2010实例【002】;用ADO方法在ACCESS2010数据库中删除一条记录

    在VC++2010用ADO方法在ACCESS2010数据库中删除一条记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者:...

    access数据库操作,adox创建,ado操作

    ADO不支持创建数据库,但adox可以,adox是对ado的扩展。 程序中在vc6.0 下,使用adox创建数据库,并用ado对数据库进行模糊“like”查询,可以很好的筛选数据

    C#创建ACCESS数据库和数据表

    C#创建ACCESS数据库和数据表,使用ADOX创建Access数据库和表,设置主键

    VC++使用ADO开发ACCESS数据库示例

    通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别建立...

    基于ADOX接口动态创建数据库方法探索.pdf

    基于ADOX接口动态创建数据库方法探索.pdf

    c#操作ACCESS数据库

    手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:\Program Files\Common Files\System\ado\msadox.dll,该DLL包含ADOX命名空间; 接着引用C:\Program Files\Common Files\System\ado\msjro.dll,该...

    自学VC++2010实例【001】;用ADO方法在ACCESS2010数据库中加入新记录

    在VC++2010用ADO方法在ACCESS2010数据库中加入新记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者: ...

    自学VC++2010实例【004】;用ADO方法在ACCESS2010数据库中增加、删除和修改记录

    在VC++2010用ADO方法在ACCESS2010数据库中增加、删除和修改记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-...

    adox 重命名 access 表名 vc6

    for(int i=0;i<m_pCatalog->Tables->GetCount();i++) { _variant_t vIndex = (short) i; m_pTable = m_pCatalog->Tables->GetItem(vIndex); CString strTableName=(LPCSTR)(m_pTable->Name);...

    vc++ADOX创建数据库

    //用ADOX创建access数据库方法很简单, //只需要新建一个Catalog对象,然后调用它的Create方法就可以了。 //Catalog是 ADOX 的一个对象,它包含描述数据源模式目录的集合。 //在这里,您只需知道创建数据库时...

Global site tag (gtag.js) - Google Analytics