《UniDAC 基础》 【菜头】 翻译 (之一)
UniDAC快速入门 菜头 译 |
原文是在UniDAC的安装目录下,我复制了一份到我的博客里:点我
· |
Ø 简介
Ø 译者概述 |
Ø 连接到数据库 Ø 查询数据 Ø 执行查询 Ø 修改数据 Ø 执行存储过程 Ø 建立主从关系 Ø 联合查询 |
Ø 简介
通用数据组件(UniDAC)是一个强大的用于Delphi、C++Builder、Lazarus(Free Pascal)非可视、交叉数据库数据接入组件。UniDAC组件库是为了帮助开发者更快更简洁的开发交叉数据库应用而设计的。
UniDAC是一个可以完全替代标准数据连接的组件,是基于Borland数据库引擎开发的……啥啥啥……可接入Oracle, SQLServer, MySQL, InterBase, Firebird, SQLite, DB2, Microsoft Access, AdvantageDatabase Server, Adaptive Server Enterprise, DBF, NexusDB, 还有其它的数据库 (通过 ODBC 提供者).
UniDAC基于从众所周知的数据库组件Devart开发的,例如:ODAC, SDAC, MyDAC, IBDAC, and PgDAC.
本文为你提供一个即将使用UniDAC的概览……啥啥啥的……
本人原名:XXX,昵称【菜头】,文化程度只到X中,编程只是兴趣,并一直持续了十几年,接触Delphi时间并不长,也就一年多,所以本译文中肯定会有许多谬误,UniDac是一款为数据库连接查询提供了方便快捷的设计方案的组件,可是百度了一下教程后,发现国语很少,又或者太过简易,对于英语不好的人(其实也包括我)来说,就像是一块放到嘴前的肥肉(或者说王八……)而无从下嘴,好在,UniDac在新版中已经有了Demo示例,还有帮助文档,不过依旧是E文……
由于手头接了个小活,要为一所美容连锁机构开发一套进存销系统,设计方案几经筛选,淘汰了B(Basic)、C(C++)、E(易语言)、还有国产Justep的X5后,最终选择了一直心爱的D。至于为啥淘汰那几款……,欢迎来跟我嘴对嘴的……
呆而肥!我爱呆而肥!
以前只用D写写外挂或者某些插件,外挂基本自己用,所以对程序的面子要求比较少,用的都是土到掉渣的标准组件,但这次因为要面向正式收费的客户,所以面子问题就摆上了台面……
还有哪个语言比D可以更快的搞出优秀的界面?还有吗?!
咱只用2D做出来的界面就得让其它几款仰望了……,更何况哥还没放出FireMonkey(^^,其实还不会用……)
我的D基础是很差的,所以要打基础,从翻译开始……
至于本译文会不会误人子弟……,那不是我考虑的范围……
翻译对我这种还要借助金山词霸的人来说很辛苦,所有,这段小广告请各位转载门保留吧。
菜头.Email:='372212322@qq.com' 非【程】勿扰。
Ø 连接到数据库
在设计期时连接到数据库
要使用 UniDac component 你要按以下步骤来:
Ø 创建一个空的工程来使用Uni控件,从Delphi IDE的菜单中依次选择: File | New | VCLForms Application
Ø 在【控件面板】中找到 【UniDAC】 页然后拖一个 TUniConnection 控件到新窗体中。
Ø 可以通过双击TuniConnection控件打开属性修改器,来修改它的主要属性。
Ø 在Provider 属性的下拉框中选择一个数据供应源。比如,选择如果你的数据源是Oracle数据库,那么就选择【Oracle】。
Ø 输入下面这些属性值:UserName(用户名),password(密码),server(数据库地址,IP,服务器名),DataBase(库名),Port(端口),要注意的是,有些数据原并不依赖这些属性。
比如,Oracle你只要输入:
UserName(用户名),
password(密码),
server(数据库地址,IP,服务器名),
其中的Server(数据库地址,IP,服务器名)是一个TNS别名,你可以在Server属性的下拉菜单中选择,或者手工输入它们。(译者注:我没使用过Oracle所以不知道这个TNS是什么,不过相信使用Oracl的人应该都清楚。)
Ø
Ø 点击【Connect】连接按钮,如果连接成功,主要属性修改器会自动关闭,可以能过再双击TuniConnection控件再次打开主属性修改器,然后选择第二页【Options】选项对话框,在这里,你可以输入一些与数据提供者相关的特殊参数项。【Schema】模式参数,是一个对Oracle数据库来说很重要的参数,在本例中,我们将使用“SCOTT”模式,所以我们在这儿输入了“SCOTT”。
Ø 在运行时连接数据库
下例代码展示了,如何在运行时设置与连接数据库:
UniConnection1: TUniConnection;
...
UniConnection1.ProviderName := 'Oracle';
UniConnection1.Username := 'scott';
UniConnection1.Password := 'tiger';
UniConnection1.Server := 'ORA1020';
UniConnection1.SpecificOptions.Values['Schema'] := 'SCOTT';
UniConnection1.Open;
Ø 每个【SpecificOptions】(特殊参数)都有如下的设置格式:
<OptionName>=<Value>
你可以按以下这种方法来来增加它们:
UniConnection1.SpecificOptions.Add('Schema=SCOTT');
但最好是通过Tstrings类型的【Values】属性来设置或添加它们,因为这个属性不会在已存在该同名参数时再次添加它们,而会用“=”后的新值来代替它。
But it is better to use the Values property of TStrings becausethis property does not add a new line if an option with the same name alreadyexists. Instead it replaces the text after '=' with a new value.
Ø 可以用Close方法来关闭连接:
UniConnection1.Close;
Ø 在你的工程中,你可以能过在代码的【Uses】引用列表段添加你所使用的数据提供者的链接。比如,使用Oracle,你可以添加OracleUniProvider:
uses ..., OracleUniProvider;
还有另一个更加方便的添加提供者方式,你可以通过控件面板中的【UniDACProviders】控件组页面里的对应的提供者控件来添加,选择这一页,然后找到OracleUniProvider控件,拖放到窗体之中,IDE会自动完成向【USES】引用列表段自动添加提供者,如果原本没有加这个提供者的话。
Ø 查询数据 Selecting Data
TUniQuery 和TUniTable控件可以让你来筛选数据,要实现筛选,首先,你要放放一个TUniQuery 控件到窗体中。
要筛选数据,你必需要先创建一个连接到数据库的连接,你须要为大多数的控件设置Connection (连接)属性值,如果在窗口中只有一个TUniConnection 控件,那么UniDac会自动的给这个Connection (连接)属性设置为这个TUniConnection 控件。
你得为TuniQuery指定SQL属性值,双击TUniQuery 控件,打开TUniQuery 控件主要属性编辑窗口,在第一页【SQL】中,你可以来为SQL属性值输入SQL查询语句。
TUniSQL控件是不须要RecordSet就可以执行查询的。TUniSQL并不是TdataSet的派生类TUniQuery,TUniSQL控件是一个简单的提供最佳性能的控件。它的用法与TuniQuery一样,你同样可以在运行时自定义SQL查询与参数。
要执行查询,你要SQL属性分配一个值(即查询语句),然后再调用执行方法来执行它。
If you connect to the SCOTT sample schema, you can enter:
如果你连接着SCOTT示例的图表,你可以输入:
SELECT * FROM emp
来查询 EMP 中的表.
点OK按钮来保存改变并关闭窗口。要想执行该查询,你可以在IDE的属性窗口中,将Active属性设置为True,又或者,你可以在执行过程中通过Open方法来执行:
UniQuery1: TUniQuery;
...
UniQuery1.Connection := UniConnection1;
UniQuery1.SQL.Text := 'SELECT * FROM emp';
UniQuery1.Open;
先到这儿,其它不没完成,还在搞,Word说明文档有十七页,到这里是第七页。
《UniDAC 基础》 【菜头】 翻译 (之一)相关推荐
- 和菜头翻译 如何不靠运气致富
1. Seek wealth, not money or status. Wealth is having assets that earn while you sleep. Money is how ...
- UniDAC 基础 英文 原文【就不传其中的图片了】
Universal Data Access Components Send comments on this topic UniDAC Basics Top Previous Next 要看译文戳这里 ...
- 我所知道的张小龙 by和菜头
本文作者和菜头,写于2011年. 15年前,张小龙是中国Top10的程序员. 他一个人写代码,完成了Foxmail的头三个版本. Foxmail如此受到欢迎,以至于他不得不外放了语言包,让各种忠实粉丝 ...
- 和菜头:在碎片化的轰炸中喘息
博客.微博.微信,我们在数字化时代迎来了信息的大爆炸,也迎来了信息的碎片化.一条信息被140个字的微博翻新.重组.恶搞,最终就被"翻译"成一条又一条的段子. @和菜头 就为此宣布& ...
- 和菜头-和腾讯新闻哥谈谈腾讯价值观
本文来源于和菜头 和菜头-和腾讯新闻哥谈谈腾讯价值观 昨天我发布了<和腾讯新闻哥谈谈腾讯价值观>一文,在后台看到许多鹅厂同学的留言,许多人表示了相当程度的愤怒.也听说在内网的KM系统有人专 ...
- C语言基础专题 - 头文件引用
C语言基础专题 - 头文件引用 本文介绍了C语言中头文件的引用方法 阅读本文前推荐阅读C语言预处理 1.
- 和菜头-当你在网络上被黑时
本文作者:和菜头 此文仅为了方便个人阅读 和菜头-当你在网络上被黑时 (本文第一次发布于2015年8月13日,今天是2016年7月29日,重新再发布一次,因为好文章值得一发再发) 我们享受着网络带来的 ...
- 和菜头-要相亲相爱,更要相互伤害
和菜头-要相亲相爱,更要相互伤害 本文作者:和菜头 此文仅为了方便个人阅读 你如果真正仔细观察时代,有时会产生如下困惑:每个时代里都有大量的人通过艰苦地思考,却得出了最为浅表的结论,甚至是与事实相互悖 ...
- 和菜头:放开那些员工
作者: 和菜头 发布时间: 2012-11-18 13:09 阅读: 3915 次 推荐: 40 原文链接 [收藏] 我觉得中国的员工怎么就那么倒霉呢?所谓的现代企业制度听起来很美好 ...
最新文章
- IBM大裁70% 员工,撕掉了国内大批伪AI企业最后一块遮羞布!
- php和python和java-Java、PHP和Python各有什么优势 分别能做什么
- android 点击edittext全选,Android - 阻止edittext复制/粘贴,然后双击全选
- java学习(132):hashtable使用map替代实体数据
- Java 重写与重载
- 阿里AI再出神器,“你是什么垃圾”一拍便知
- js获取 jquery获取页面shu
- 路由器局域网设置_路由器基础介绍
- 容器编排技术 -- Kubernetes 设计理念
- mysql磁盘io高是什么造成_FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)...
- 分时系统是计算机网络嘛,简述计算机网络与分时多用户系统多机系统分布式系统的区别...
- python3怎么用_当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)...
- Java中获取文件大小的正确方法
- listview添加item动画
- android svg 编辑器,Android svg 格式使用小结
- 基于libGPE读写KML文件的研究
- ThingsBoard设备在线状态-active服务端属性分析
- 关于英语论文范文参考步骤的详细介绍
- Luogu P3110 [USACO14DEC]驮运Piggy Back
- oracle unable to open file,ORA-27041:unable to open file
热门文章
- 新基建!腾讯宣布投入5000亿
- Linux Shell脚本编程基础
- 1785 数据流中的算法(模拟,乱搞)
- java读取word中的表格并存入到mysql数据库中实例
- SpringCloud之搭建PiggyMetrics项目
- python随机生成无序列表_python实现无序列表:链表
- 韩剧机器人题材的_有这九部题材不同风格各异的韩剧,你这个冬天可不会剧荒了...
- Hawk-数据抓取工具:简明教程
- Halcon 第三章『Morphology形态学』◆第3节:顶帽运算与底帽运算
- easyexcel处理合并单元格数据