Delphi作为强大的数据库前端开发工具,提供了很多数据库存取方式的封装控件。对于Oracle的数据存取控件,不管何种数据库引擎,一般都会封装一个Connection作为数据集的连接控件,因此只要设定Connection的相关属性即可,其它dataset控件,如query,table等只要指定此Connection即可,客户端应用程序要连接到Oracle的Schema,一般都需要安装Oracle Client,并使用Net Manager设置客户端可以访问的Oracle Database Server的主机名称及存取协议、Port等信息。可以使用以下的方式连接
dbExpress:dbExpress比较适合连接SQL的数据库,据说效率挺高的。放置一个dbExpress页签下的SQLConnection,在此控件上点击鼠标右键,选择“Edit Connection Properities”功能,并依下图设置即可。其中Database栏位要设置为Oracle Client中设置的服务名,如果需要记住密码,而不用每次连接的时候输入密码,请将 LoginPrompt属性设置为False,设置OK后即可测试将Connected:=True看看是否成功,其它数据处理控件请选择相应dbExpress页签下的控件即可。
BDE:BDE应该来说是Borland自己的数据库引擎了,效率也是相当不错的。当然也是支持Oracle连接的。使用BDE页签下的database控件,设置方法参考下图所示:
ADO:ADO是Microsoft所支持的数据库连接技术,大有一统windows客户端数据存取引擎的意思,在.net平台,推出了ADO.NET,更好地支持了XML。DELPHI有对ADO做了一些封装,使用ADOConnection,通过向导设置它的ConnectionString即可,可以参考下图所示:
ODBC:ODBC是最传统的链接方法了,效率相对来说稍微低一些,不过通用性也更强,不建议使用这种方法。使用前需要先到ODBC设置中增加一个数据源名称DSN,然后再透过ADO或者BDE组件来实现数据的存取。可以参考如下图片设置:
不使用控件,比如使用原生的ADO组件,不太建议这种方法,既然Delphi已经做了封装,何必又要回到原始状态呢。以上连接方法都需要安装Oracle Client软件,但是Oracle官方的Client太过庞大,安装非常不便,目前网上有人发布一个精简版的Oracle Client软件,比较小,可以满足连接Oracle的需要,可以去下载这个软件,而不用去安装复杂的官方版本。
下载ODAC控件,此控件不需要安装Oracle Client,而是使用OCI的方式透过TCP/IP协议直接连接到Oracle Server,可以将程序做成瘦客户端,程序分发的时候比较方便。此控件支持Delphi的大部分版本以及C++Builder以及kylix以及.net,而且提供源代码,有兴趣的可以研究一下。具体安装使用方法请参考控件的相关说明以及帮助文档。
连SQL2000数据库的话可以用ADOConnection、ADOQuery、ADODataSet和ADOTable这几个组件。ADOConnection双击组件就可以选择数据源;
ADOQuery组件和Query组件的使用方法类似,通过SQL属性获取某些数据,满足SQL语句的语法格式,使用方法和ADOTable组件类似,但ADOTable通过TableName属性来定制数据表;
ADODataSet可以直接与一个表进行连接,也可以执行SQL语句,还可以执行存储过程。
sql设置好用户名跟密码以后比如sa密码123
打开delphi放一个按钮,然后在控件栏那里选datacontrol,选第一个dbgrid放到form上,选dataaccess里面的第一个datasource,然后选ado——adoconnection放到form上,再选ado——adoquery放到form上。点选adoconnection左边的框体有个connectionstring点"…":d出来的对话框中点Build,然后选择从下数上来第五个,双击或者下一步,填入用户名跟密码(sa
123),在“3.选择数据库”那里选择要打开的数据库,选上保存密码,点一下“测试连接”,点OK退出。出来以后继续在左边框体里面找LoginPrompt改成False。到adoquery了,点上它然后在左边框体的
Connection
那里下拉选择ADOConnection1,然后点选datasource,在左边框体找到dataset下拉选择adoquery1,然后再点选dbgrid,在左边框体找到datasource,下拉选择datasource1。双击刚才创建的按钮,假设你要打开的数据表名叫“
销售订单
”,输入
adoquery1.close
adoquery1.sql.clear
adoquery1.sql.add('select
*
from
销售订单
')
adoquery1.open
运行,按按钮如果dbgrid有数据显示表示连接成功了,以上所有功能实现均可通过代码或者手工设置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)