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数据库文件
一直以来都用SQL语句来操作Access,但发现有些Access字段的属性不能用SQL来操作,在网上搜索了一些资料后,才了解了一些用ADOX设定字段的方法,为了方便了解这些字段的属性,就先自己建立一个Access数据库,然后创建...
本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别...
VC ADO技术操作 ACCESS的一些实例,主要是一些数据库的基本操作,比如添加、删除、修改数据,查看数据库内容等,重点是ADO在VC 中的用法。通过实例演示如何在VC 中使用ADO进行ACCESS数据库编程,并对涉及到的几个...
使用易语言创建空白Access数据库(*.mdb),经搜索贴子并总结如下:。方法一:。打开一个对话框,然后输入要创建的数据库名称,选择好路径后保存。这是通用方法,核心就是:。创建数据库.创建 (“ADOX.Catalog”, )...
(有随书例程)本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,...
在VC++2010用ADO方法在ACCESS2010数据库中修改一条记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者:...
在VC++2010用ADO方法在ACCESS2010数据库中删除一条记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者:...
ADO不支持创建数据库,但adox可以,adox是对ado的扩展。 程序中在vc6.0 下,使用adox创建数据库,并用ado对数据库进行模糊“like”查询,可以很好的筛选数据
C#创建ACCESS数据库和数据表,使用ADOX创建Access数据库和表,设置主键
通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别建立...
基于ADOX接口动态创建数据库方法探索.pdf
手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:\Program Files\Common Files\System\ado\msadox.dll,该DLL包含ADOX命名空间; 接着引用C:\Program Files\Common Files\System\ado\msjro.dll,该...
在VC++2010用ADO方法在ACCESS2010数据库中加入新记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者: ...
在VC++2010用ADO方法在ACCESS2010数据库中增加、删除和修改记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-...
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);...
//用ADOX创建access数据库方法很简单, //只需要新建一个Catalog对象,然后调用它的Create方法就可以了。 //Catalog是 ADOX 的一个对象,它包含描述数据源模式目录的集合。 //在这里,您只需知道创建数据库时...