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

ADOX获取表的字段信息 ///////////////////////////////////创建数据库连接try{      m_pConnection.CreateInstance("ADODB.Connection");           CString strSRC;     CString DBPATH("C://F.MDB");        strSRC="Provider=Microsoft.JET.O 阅读详情
 

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。
CST-Python(Pycharm如何与CST联合仿真,获取S参数) 我们想使用Python与CST联合仿真,其实是不需要自己下载Python的,因为CST在下载的时候就自带了Python3.6,我们只需要找到并将软件的环境设置到相应位置,即可联合仿真。(我的保存路径为D:\Program Files (x86)\CST Studio Suite 2020,在寻找时可以将前面切换成自己的保存路径,后面不需要修改)在CST帮助文档(打开CST软件,按F11即可直接访问帮助文档)里面,进行如下操作,便可以看到CST适配的Python版本为Python3.6! 阅读详情

相关推荐

【优化调度】基于混合整数线性规划的电力系统机组组合优化(Matlab实现)

本文详细介绍了基于混合整数线性规划(MILP)的电力系统机组组合优化方法,通过Matlab实现高效调度决策。内容涵盖目标函数构建、约束条件设置及求解器调优,帮助降低发电成本并提升系统稳定性。适用于电力系统调度员和能源优化研究人员,实现从理论到实践的完整解决方案。

weixin_29050271的博客 585

用adox实现直接连数据库帮你完成写sql的任务

代码如下,copy成hta就可以直接用了,不过还不够完善,现在只支持access class getsqlinfo  dim the_adox   Private Sub Class_Initialize          set the_adox=createobject("ADOX.Catalog")   end sub   public sub sqlserver_getactiveconn

兔子专栏 1823

STM32CubeIDE中文注释变乱码终极解决方案:3步设置永久解决锟斤拷问题!

你是否在STM32CubeIDE中遇到过这样的崩溃场景?——精心编写的中文注释在重新生成代码后变成“锟斤拷”乱码,不仅影响代码可读性,反复修改更是浪费大量时间!作为STM32开发者,我曾被这个问题困扰许久,试过修改软件设置、工程编码却始终治标不治本。直到发现这个基于Java环境变量的终极解决方案,才彻底解决了中文乱码难题。

smart_boy__的博客 2957

ACCESS数据库在线更新代码(ASP版)

代码有点多,下载:http://download.csdn.net/source/337848另外程序还有点Bug,还没来得及改,如果谁完善一下,别忘了发给我一份(jyh_jack@163.com)by 鞠勇鸿conn.asp 内容:dim connset conn=server.createobject("adodb.connection")connString="Driver=

鞠勇鸿的技术专栏 2439

别再手动算频谱了!用这个在线FFT工具,5分钟搞定JSON/CSV数据分析

本文介绍了一款高效的在线FFT工具,帮助用户快速分析JSON/CSV格式的时域数据,5分钟内完成频谱分析。通过傅里叶变换(FFT)算法,大幅提升计算效率,解决传统手动计算的痛点,适用于工业振动分析、设备故障诊断等场景。

weixin_29172201的博客 258

GitHub漏洞挖掘与CVE提交实战指南:从发现到编号的完整链路

GitHub开源项目是现代软件供应链的核心节点,其安全漏洞直接影响全球数百万系统的机密性、完整性与可用性。理解漏洞本质需回归CIA三元组原理,而真实可利用性依赖对协议解析层、配置加载区和依赖传递链等高危模块的精准识别。技术价值在于将模糊的‘可疑逻辑’转化为符合MITRE CVE标准的可验证事件,支撑SDL流程、威胁情报建设与供应链风险管理。典型应用场景包括甲方安全工程师推动供应商修复、独立研究者参与负责任披露,以及DevSecOps团队构建自动化风险坐标系。本文基于27次CVE提交经验,聚焦GitHub代码

weixin_33646989的博客 651

Delphi操作ACCESS技巧集

1.DELPHI中操作access数据库(建立.mdb文件,压缩数据库)以下代码在WIN2K,D6,MDAC2.6下测试通过,编译好的程序在WIN98第二版无ACCESS环境下运行成功.//在之前uses ComObj,ActiveX//声明连接字符串Const SConnectionString = 'PRovider=Microsoft.Jet.OLEDB.4.0;Dat...

dkopg24406的专栏 807

内存|内存的概念、内存的作用、内存的物理结构及内存使用

内存是硬件,是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。内存是与CPU沟通的桥梁,计算机中所有程序的运行都要依靠内存,内存对计算机的影响非常大。本文简单介绍了内存的概念、作用、物理结构以及使用,内存远不止如此,后续文章会逐步深入讲解。

qq_59938293的博客 2万+

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(AD

quasiceo 1107

Qt入门教程【基础控件篇】QLineEdit输入框

QLineEdit输入框

小鱼酱的博客 3262

代码复现1——Matterport3d数据集下载

进入“Dataset Download”部分,下载申请书,填写之后发送到指定邮箱(matterport3d@googlegroups.com),之后会收到回信,回信中附有一个download_mp.py的脚本文件。,大小约15G,并不是所有的Mp3d datasets,所有大小约1.3T。下载完成后如下图所示:我这边显示大小为16.1G。

qq_44100524的博客 8053

关于ADOX

1、ADOX 概述Microsoft? ActiveX? Data Objects Extensions for Data Definition Language and Security (ADOX) 是对 ADO 对象和编程模型的扩展。ADOX 包括用于模式创建和修改的对象,以及安全性。由于它是基于对象实现模式操作,所以用户可以编写对各种数据源都能有效运行的代码,而与它们原始语法中的差异无关。

1707

代谢组数据分析(五):代谢组的功能富集分析

本文介绍了代谢组数据分析中的功能分析,包括代谢物富集分析、GSEA和ssGSEA方法。文章详细阐述了分析原理、应用背景、数据准备、统计方法以及结果解释,强调了在代谢通路和代谢物ID对应关系建立、差异代谢物筛选、富集程度计算等方面的关键步骤。通过这些方法,可以揭示差异代谢物在生物过程中的作用,为疾病研究和药物开发提供依据。

专注生信领域 5981

ACCESS

给你一个例子:DbName:数据库名称procedure Tform1.CreateDb(DbName: string);var Dbnew:OleVariant;begin if FileExists(DbName) then begin if MessageBox(Application.Handle,PChar('数据库 ' + DbName + ' 已存在!'+ ...

weixin_30437481的博客 216

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

创建一个MDB文件

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></ifra

34

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ADOX创建Access数据库

这两天研究OLE DB,结果直到今天才找到OLE DB创建数据库的方法,原来弄好的ADOX的代码舍不得扔掉,就记在这里好了。 /**////MainCString sDBFile;if(argc  2)exit(0);elsesDBFile = argv[1];HRESULT hr = S_OK;hr = ::CoInitialize(NULL);if(SUCCEEDED(hr))..

topgun的技术总结 788

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

用Delphi标准控件实现Access数据库的导入导出

导读:   Access数据库是最常用的桌面数据库,关于用DELPHI 操作ACCESS的数据导入导出的文章也有不少,但大部分都是以第三方控件或者直接操作ADOX来操作。如果对ACCESS内置的VB编程熟悉的话,一定会使用过Docmd这个命令,我以前曾用ACCESS内置的VB给人写过程序,因此非常喜欢Docmd这个命令的强大功能,它能实现如数据库与其它任何数据格式的导入,导出,数据库表,查询的创建

938

ADOX-创建Access数据库

{$R *.dfm} uses Registry,ComObj; //ADO是微软提供的可以访问数据库的一种接口方式,要使用ADO必须安装MDAC(Microsoft Data Access Components)组件 procedure TForm1.Button1Click(Sender: TObject); var Reg:TRegistry; Access

技术资料收集站 1587

在DELPHI源程序中动态创建ACCESS数据库及当即建表文件

Const     SConnectionString              =  Provider=Microsoft.Jet.OLEDB.4.0;Data  Source=%s;                                                                 +Jet  OLEDB:Database  Password=%s;;  f

隼之 2937

Delphi中动态创建Access数据库和数据表

一、通过OLE方式创建 相信各位都用通过OLE方式访问Word、Excel文件的经历,具体我不说太多,直接把具体代码写出来就完了 在引用部分加入: uses ComObj; 实现部分: procedure TFormOffice.BitBtn1Click(Sender: TObject); var CreateAccess:OleVariant; begin CreateAcce...

weixin_30371469的博客 1061

Delphi2010 无效的类别字符串, ProgID: "ADOX.Catalog"问题

程序中用ADOX创建的Access数据库,一直运行正常,其他电脑都正常,由于某种原因需要修改程序,  编译正常,运行时出现了无效的类别字符串, ProgID: "ADOX.Catalog",重装Delphi也无效。  DBNew: OleVariant;  DBNew := CreateOleObject('ADOX.Catalog');  DBNew.Create('Provider=M

xinzheng_wang的博客 4067
上一篇: Delphi之通过ADOX操作access数据库的方法
下一篇: Access词汇表
jsrgren
博客等级 码龄15年 4粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值