说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

自动检测、建立数据库别名和表格-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
自动检测、建立数据库别名和表格-Delphi资料

一、数据库别名(Alias)的定义和检测方法

当Type为STANDARD时

别名定义最为简单,这时仅能采用PARADOX

DBASE

ASCIIDRV三种数据库作为缺省

的驱动程序(DEFAULT DRIVER)。

另外,还要定义数据库存放路径(PATH)和ENABLE BCD,才能建立一个完整的数据库别名。

Delphi的数据库应用程序能自动提供一个Session组件,这个Session组件即为应用程序与BDE的接口。

1. 检测别名

通过调用Session.GetAliasNames(list:Tstrings)方法,可将当前BDE配置中的所有数据库别名的名称存

放到List字符串列表中。list.IndexOf('需要检测的别名')的值会告诉我们这个别名是否存在(其值为-1时

不存在)。

2. 增加一个新的别名

Session组件的过程AddStandardAlias(const Name

Path

DefaultDriver: string)

可以增加一个标

准类型的数据库别名。例如增加一个名为Cntssamp,缺省数据库驱动程序为PARADOX、存放路径为

c:\delphp11的别名: Session.AddStandardAlias('Cntssamp'

'c:\delphp11'

'Paradox');

3. BDE配置文件存盘

Session.SaveConfigFile;

二、数据库中表格的定义和检测方法

数据库中表格的定义、维护和使用,只有在数据库别名正确设置的情况下才有意义。以TTable组件为例,必

须设置其DatabaseName为一个实际存在的别名。

1. 检测表格是否存在

通过调用Session.GetTableNames(const DatabaseName

Pattern: string;

Extensions

SystemTables: Boolean; List: TStrings)方法,可将当前指定数据库别名中所有表格的名

称存放到List字符串列表中。list.IndexOf('需要检测的表格名')的值会告诉我们这个表格是否存在(其值

为-1时不存在)。

2. 建 立 一 个 表 格

第一步,设置TTable组件的DataBase Name(别名)、TableName(表格名)、TableType(数据库类型);

第二步,调用Table.FieldDefs.Add(const Name: string; DataType: TFieldType; Size: Word;

Required: Boolean)增加表格的各个字段,其中Name为字段名,DataType为字段类型(常用的有

ftInteger

ftString

ftDate

ftBoolean等)

Size为字段长度,Required为该字段是否允许有空值。

第三步,调用Table.IndexDefs.Add(const Name

Fields: string; Options: TIndexOptions)方法增

加表格的索引文件,其中Name为索引文件名,Fields为索引字段,options为索引参数的集合,常用的索引

参数有ixPrimary(主键)、ixDescending(降序)、ixUnique(具有唯一值)等。

第四步,调用Table.CreateTable建立表格。

三、一个实例

在Form1.Formcreate事件中写入如下代码,程序启动时,将自动检测是否存在数据库别名Cntssamp,如果

没有则建立之;自动检测别名Cntssamp中是否存在表格TSK(图书库),如果没有则自动建立表格TSK。

procedure TForm1.FormCreate(Sender: TObject);

var

ap:TStringList; {字符串列表变量}

answer:Integer;

begin

ap:=TStringlist.Create;

Session.GetAliasNames(ap); {取得别名列表}

if (ap.IndexOf('Cntssamp')=-1) then {判断别名是否存在}

begin

answer:=Application.MessageBox(

'别名Cntssamp不存在,

现在创建吗?'

'BDE信息窗口'

mb_OKCancel);

{增加一个名为Cngzsamp的数据库别名}

if answer=IDCANCEL then begin

ap.Free;

Exit;

end;

Session.AddStandardAlias

('Cntssamp'

'c:\delphp11'

'Paradox');

Session.SaveConfigFile; {BDE配置文件存盘}

end ;

ap.Clear; {取得别名Cngzsamp中的所有表格名称列表}

Session.GetTableNames

('Cntssamp'

''

False

False

ap);

if (ap.IndexOf('TSK')=

-1) then {判断表格是否存在}

begin

answer:=Application.MessageBox(

'别名Cntssamp中不存在

表格TSK

现在创建吗?'

'表格信息窗口

'

mb_OKCancel);

if answer=IDCANCEL then begin

ap.Free;

Exit;

end;

with table1 do begin

Active:=false;

DatabaseName:='Cntssamp'; {数据库别名}

TableName:='TSK'; {表格名}

TableType:=ttParadox; {数据库类型}

with FieldDefs do begin {增加字段}

Clear;

Add('SH'

ftString

30

False); {书号 String(30)}

Add('SM'

ftString

30

False); {书名 String(30)}

Add('CBS'

ftString

20

False); {出版社 String(20)}

Add('CBRQ'

ftDate

0

False); {出版日期 Date}

Add('YS'

ftInteger

0

False); {页数 Integer}

end;

with IndexDefs do begin {增加索引}

Clear; {按书号字段建立主索引}

Add('SHSY'

'SH'

[ixPrimary

ixUnique]);

end;

CreateTable; {创建表格}

end;

end ;

ap.free; {释放变量ap}

end;

四、本程序在Pwin95

Delphi3环境下调试通过。

分享29个超赞的响应式Web设计 Facebook图谱搜索和谷歌搜索有何不同? Facebook向美国iPhone用户提供免费电话 VMware CTO Steve Herrod离职 加盟风险投资公司 维基百科基金会推出众包旅游项目Wikivoyage 最舒适程序员:工作外包给中国 自己却偷懒 Evernote正在与苹果联合开发硬件记忆工具,未来两年公司上市 Fusion-io发布ioScale 全闪存数据中心时代到来? Agent Dash游戏设计之美:如何用2D打造3D体验? 开源项目文档应规避的13处“硬伤” 李开复:Graph Search将可与谷歌搜索媲美 月成本3500美元 如何在AWS上实现BBVA信用卡低延时分析 外媒眼中的国内互联网巨头:服务器集群庞大但缺乏创新 Facebook主导通用主板+SoC ARM与Intel同台对抗 假如像招聘程序员那样租车…… CrowdStar:Windows Phone 8是开发者的下一片蓝海 腾讯云总经理陈磊透露流量变现计划 将比亚马逊AWS更专注 代码之美——Doom3源代码赏析 英特尔公布2012财年财报 Q4净利润同比下滑27% 谷歌CEO佩奇:创新重于竞争 关注非增量改进 再尝败绩 微软杀软AV-TEST反病毒认证失败 财富:2013最佳雇主 谷歌第一微软75苹果未入榜 移动应用注册表单必死! 数据:2012年的全球互联网知多少 访中粮我买陈伟伟:高并发大压力挑战架构师极限 左路Deep Learning+右路Knowledge Graph,谷歌引爆大数据 数据库排行榜:关系型居首,NoSQL整体人气最高 联通:要做PaaS,存储最低为TB 百度资深交互设计师谈微信4.5版本 TalkingData推出移动游戏数据分析平台 一周消息树:著名计算机黑客Aaron Swartz自杀身亡 笔记本突然出现很多马赛克,然后死了,大概是什么原因? 各位大虾请进 求:0,1,-1的N长度组合算法 各位问一个比较少见的问题100分相送,急急急!!! 这样的条件判断语句要怎么写?(很简单的) 一款很不错的电子图书制作、资料管理软件 在-卢-<<利用XML实现通用WEB报表打印>>时报:未将对象引用设置到对象实例 DBEdit如何限制输入格式? 简单问题 ★★★狂急!请问怎样取得文件的创建日期!在线等!在线结贴!★★★ 初学xml,很简单的问题,就是不会,各位近来看看!一行代码搞不定… 有没有用于unix下c开发的dbx调试图形界面的工具? 哪位有tar 和 gzip 命令参数的详细中文介绍 jsp网站测试,欢迎大家测试 提问 请问有没有直接可以HTML(XHTML、SHTML)生成XML-XSL!!的工具 进程外组件的关于注册的问题? jsp中怎样生成静态页面 请问:如何返回webservice类的一个或多个实例? 怎样触发另一个窗口中的javascript函数? 谁能提供一些检测内存泄露的工具或方法 如何将 FoxBase 中的数据导入到 SQL Server 中? 求助:API操作注册表出现奇怪问题 请问如何改变windows xp中的用户的登陆顺序 有问题:如何通过页面下载附件? 求助:VB生成安装文件的问题 下面的程序怎样优化?(着急) 怎么样在C++ Builder 的Form上显示文字!我不要用控件,要直接显示在Form上 200 分相送 高手请进 请教如何写成特殊格式文件的存取的问题. 适配器更新数据集怎么用事务 怎样才能设“开机密码”? 哪位高手可以给我介绍一下TOMCAT和APACHE,我刚接触,需要了解一下 关于SocketConnection. 进入linux8.0后,主板指示灯闪烁问题,请高手指教。 谁给一个QQ给我啊? 高分请教? 如何查看一个记录集中游标的位置。 求一个简单的窗口函数 请问如何实现计算器功能 如何修改这个脚本?(应该比较简单) 大伙能否谈谈.net整体软件框架的设计 来者有分:调查:大家是在用vc.net还是用vc60,我在用vc60 用SQL SERVER如何实现插入数据后立刻取出插入的数据的id?在线等待,急~~~~~~~ 关于JTree ppt 大家帮我看看这个方法错在哪里?分不是问题 请问获取中文操作系统下获取文件信息时lang-charset的取值为什么????? CSDN论坛左边的树形栏目能动态添加吗? 如何设置几秒钟后转向某页面那种效果。 用户需求分析说明书和系统分析说明书到底是不是一回事!! affirm和allege的区别用法和意义上 武则天和唐玄宗之间是什么关系 HCl+NaOH=NaCl+H2O 上式中的盐酸是稀是浓? 哪位ANSYS高手解决一下 constraint equation 1 has no unique degree of freedom 哪里出错误了?constraint equation 4 has no unique degree of freedomANSYS模态分析 最后计算出现这个问题 搜索网上出错的地方,有一个212什 在一个圆中有两条弦相交于一个定点且这两条弦互相垂直.求这两条弦乘积的最大值和最小值. 为什么小颗粒会向水漩涡中心去 拨云见日的意思 土壤水解性氮的测定中使用什么规格的微量滴定管?有液相色谱仪,但不知到检测方法,望好事做到底,提供详细检测方案。可发到wangchuan.888@136.com邮箱,先谢谢了。 医院里面的X光是干什么用的. 100ml的HNO3(浓度:0,01mol/L)和200ml的HCL混合,PH为1.75,求HCL的浓度. 2005年5月11日,台湾亲民党主席宋楚瑜应邀到清华大学演讲.此前北京连日下雨,这一天阳光灿烂.演讲一开始,宋楚瑜就以“拨云见日”来表达他此时的感慨.请问“拨云见日”的双重含义是?请帮 requested feature is not available 弯曲极限强度与切应力和正应力有什么关系?没听过弯曲极限强度啊? 拨云见日什么意思 sketchup如何用测量工具实现缩放rt 我要把一个物体缩放到一个实际尺寸 用测量工具以前可以 输入一个数字整体就变了 现在忘记怎么弄的了 - 为什么楼上的卫生间冲水时,下水管道会有非常响的撞击声?我们家住9楼,为什么楼上的卫生间冲水时,卫生间顶上的下水管道会有非常响的撞击声?这声音类似"空咙,空咙"的撞击声,而且楼上冲水 拨云见日的含义 sketchup模型大比例缩放后,点击进入块时会出现观察上的破面,使继续修改时很难进行,如何避免?是指观察时产生破面 实际上并没有破,如何做到缩放后还能继续操作修改?我指的是大比例缩放后 空间中PQ两点处各固定一个点电荷 其中P点怎么看出来PQ是等量异号电荷的? 拨云见日的感觉是什么意思 邓小平在文化大革命时期,情况如何?后期有没有掌权,做出贡献 PQ是某电场中的的一条电场线,将负电荷从P点由静止释放,只在电场力的作用下沿电场线运动到Q点,这过程中电荷的VT图像如图B所示,正确的是?D这电场是点电荷形成的电场,这句话为什么错 垂体和甲状腺为什么可以相互调节?甲状腺的负反馈不是作用于下丘脑吗? 电子显微镜中,能不能用X-ray取代电子光源,为什么 英语翻译歪脖老母的传说歪脖老母距今1500多年历史,来这里朝拜的人很多.他是观世因化身之一,被信徒们称为有求必应的灵验之神.他是全世界唯一尊“歪脖”佛像.当年,南海落潮,水面上出现 翻译two-linear-degree-of-freedom robot 电镜技术中可否用X-ray取代电子光源 自来水管呜呜叫怎么回事 成为拨乱反正和改革开放的思想先导的事件是什么 ICPMAX和X光衍射仪和扫描电镜和气象色谱仪和原子吸收的实验室安装条件,知道一个也行啊, 自来水管为什么会响?我家的自来水管经常响,而且声音非常大,有时象火车的轰隆声,有时象火车的汽笛声,吵得人睡不着觉.为什么会这样? 过圆内某点的弦中,垂直于直径的弦最短.是不是定理? 马克思主义哲学原理(第2版)课后题答案陈先达主编,人民大学出版社的版本.就要课后复习题的答案.有的请速发,分稍后给主要是内容提要里面的文字表述不严谨,要是考试答题那么些的话能得 什么叫极限跑酷运动? 反身代词的用法?youself herself himself itself myself themselves ourselves yourselves 的用法主要想知道他们分别在什么情况下用 请问长期在X光操作间会不会有什么影响? testify和verify的区别,用中文举例说说?可以参考这题:The plane found the spot and hovered close enough to ___ that it was a car.A.verify B.testify 告诉我 英语反身代词 的用法 谢谢啦 用x光给土拍摄照片如果我我用x光给泥土拍摄,会得到什么?黑糊糊的一片?土中的部分杂质?能穿透有机玻璃吗? confirm,ascertain,substantiate 区别?confirm,ascertain,substantiate 都有“确认、证实”的意思,怎么区分? 第四题. 计算下列极限.题目如图.答案是二分之一.但过程我不懂. 漩涡为什么能向中心吸物体 confirm和verify哪个可以搭配figuresQ:Did you (verify) (confirm) these figures?用confirm好,还是verify好?为什麽?请详细说明理由,不要只是复制粘贴,谢谢~!有独到见解的给与加分~!请高手解答~不胜感激…… ANSYS中 size cntrls是什么意思 漩涡为什么中间低两边高 凸透镜的成像规律物距和像距的关系当 f 求懂的人忙我做两道CAD的题.要写作图步骤如题 看好是做题步骤啊,这个东西对我很重要 祝你们永远快乐!谢谢各位哥哥姐姐们了我只有5分了 不能多给你们了 请哥哥姐姐们多费心了 已知,集合A={x|-2≤x≤2},B={x|-x ≤x≤1}对应关系f:x→y=ax若在f的作用下能够建立从 A到B的映射f:A→求实数a的取值范围.主要是B={x|-x ≤x≤1}弄不清 CF常说别BB N0 cassete with paper of the size requested is available是什么意思 已知集合A={xl-2≤x≤2},B={xl-1≤x≤1},对应关系f:x到y=ax,若在f的作用下能够建立从A到B的映射,求实数a的取值范 为什么水壶烧开好壶嘴烧开后一定距离才能看见白气 求反身代词的各种用法~(高三英语) 草菅人命 造句 基本放大电路动态分析中把直流电压源视为“接地”,为什么是视为“接地”?而不是视为其他.我是知道“叠加原理”的,我的意思是为什么不把它开路悬空分析,而是要接地 打印时出现英文对话框是什么意思?英文是No cassette with paper of the size requested is available当在电脑上点打印时,出现一个对话框对话框是英文No cassette with paper of the size requested is available 然后就打 草菅人命的造句是什么? 直流电压源除源怎么处理,接地还是短路还是断路 唐玄宗拔乱反正是什么意思? 用两个四字成语造句 1、势不可挡 饱经风霜 2、查无实据 草菅人命 3、和蔼可亲 安闲自在 巴基斯坦总理会晤英首相 称与塔利班和中国100大最佳市政府出炉 浙江9个新书称奥巴马难招架前总统克林顿 怕长2013年日本人气商品排行 半泽直树日本防相:警戒中国舰机无问题 不理解联合国首次主动攻击非洲叛军 或抛弃被日本严防文物流向海外 追查76件文物日媒披露日本或早已成为美情报机构窃听日本政府逾2成地震复兴预算未用 被指新加坡女子因将房屋租给非法入境者涉嫌日自民党推动修宪 拟改投票年龄吸引激世界社会主义论坛:“三南一北”对社会罕见日全环食降临 肯尼亚欲借此提振旅科普:人情冷暖,源自情绪好恶77岁贝卢斯科尼被曝与28岁女友秘密日本众议院通过自卫队法修正案日大学毕业生3年内辞职率高 官方疑企安倍晋三警卫车队连续两天发生交通事故新加坡两名少年不满被人抱怨挥棍打人被美国迷你航天机“追梦者”试飞降落时滑日本将设国家安全局 拟任命民间人士担两天三券商被查,A股惊现3个月以来最北汽幻速S6上市,威胁到了谁?菲专家担忧美日介入南海:菲正丢失对局这九句话,要贴在办公桌前天天看股灾之下券商为啥“坚决不要脸”【倒计时4天】创投圈年终巨献!最具影券业大佬王东明平安落地,“中国高盛”经济下行 明年怎样理财——节选之一这一幕太疯狂!书豪单挑险晃倒詹皇 还朱立伦王金平同台辅选 王赠公文包寓朱美国:与警方交火致2死多伤枪手被捕国际汇款平台花样百出来虐西联风险到底是什么鬼?郑爽:瘦到极致就是美?何为房屋缺角,又有哪些风水影响?曝申花欲挖恒大两将 荣昊接近离队郜林台“立委”选举:参选人自比邓丽君 戴大爆发!詹皇单节嗜血11分制胜 末节脱发了之后应该注意什么呢?工业铰链应该如何维护?高清图: 百余名世界小姐美女选手捧场
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘