分享
 
 
 

幽雅BDE(一)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

幽雅BDE(一)

(版权声明:本文仅供CSDN使用,其他转载请与作者或CSDN联系)

BDE是Borland Database Engine的缩写,即宝兰的数据引擎,她是BCB最早引入的数据库连接技术,但是土生土长的她现在却落到很少有人问津的地步,最近开发一个Pardox数据库,用到了BDE,重温了一下旧梦,觉得BDE优雅气质仍然,对数据库的管理不比ADO差,而且简捷方便。还是让我们来看看我们的老朋友吧J

一、数据库的别名机制

别名就是用来表示一个数据库资源的名字。简单说就是用别名来告知你用的是什么类型的库(BDE好清楚调用什么样的API来处理),库的名称(好清楚你的库是哪个,位置在哪)等等一系列与其相连的参数。

恰恰就是这个别名的建立,我觉得与数据库的连接要比ADO还方便!

创建别名的其实很简单,把BDE Administrator打开可以看出,BDE Administrator的主窗口由两个面板组成:左边的面板包括Database和Configuration 两个选项卡,其中Database 用来管理数据别名,Configuration用来管理BDE的数据库驱动程序和一些全局参数设置。这里我们将光标放在Database选项卡的Database列表项上单击调出快捷菜单中的new(其实在上面的菜单里也可以找到她),就可以调入新建数据库别名对话框,在弹出的 New Database Alias中会让你通过下拉框选择数据库驱动程序的名称,然后单击OK就行了。当然这个别名是系统默认的,你可以修改。而此时新建的别名自动进入到编辑状态,此时你可以对别名进行编辑,编辑完成之后右击这个别名,在快捷菜单中选Apple(应用),并在弹出的对话框中单击OK,这样就可以保存前面所做的修改了。删除不要告诉我不会吧,你右击这个别名,看一下快捷菜单中有没有一个叫Delete的家伙:P

二、表的建立与删除

表的建立与删除是对数据库操作的关键,而在BDE中的统一形式也给我们的编程带来了很大的方便,因为此时我的们没有必要考虑太多他是什么类型的库,仅这一点就给我们不知带了多少的爽事 J

本文重点来介绍在TTable下的表的建立与删除。

表的建立用CreatTable

下面来看一下示例程序:

//…………

if(!tblMyTable->Exists)//检查表是否存在,Exists就是用来看表是否存在的,存在则返加true

{

tblMyTable->Active=false;//修改表之间必须关闭表

tblMyTable->DatabaseName=”BCDEMOS”;//设置表的别名

tblMyTable->TableType=ttParadox;//设置表的类型,该表为Paradox数据库

tblMyTable->TableName=”mytable”;//设置表的名称

tblMyTable->FieldDefs->Clear();//清除已经存在的数据段定义

tblMyTable->FieldDefs->Add(“Field1”,ftInteger,0,true);//为表添加字段

…………//为表添加其它字段

tblMyTable->IndexDexfs->Clear();//清除索引定义

tblMyTable->IndexDexfs->Add(“”,”Field1”,TindexOptions()<<ixPrimary<<ixUnique);//添加索引定义

…………//添加其它索引定义

tblMyTable->CreateTable();//创建上面定义格式的表

}

//…………

下面来看一下两个Add的定义及用法:

添加字段Add

void _fastcall Add(const AnsiString Name,TFieldType DataType,int Size,bool Reauired);

Name用来指定字段名称;

DataType用来指定字段的类型,有ftUnknown、ftString、ftSmallint、ftInteger、ftWord、ftBoolean、ftFloat和ftCurrency等36种,注意字段类型必须用BCB定义的值;

Size指定字段尺寸;

Required用来指定字段是否允许非空。

添加索引的Add

void _fastcall Add(const AnsiString N,const AnsiString F,TindexOptions Options);

N用来指定创建的索引的名称;

F用来指定其需要使用的字段(多个字段之间用分号隔开);

Options用来指定对参数F列出的字段必须满足的要求。它是一个集合类型变量,可以取ixPrimary、ixUnique、ixDescending、ixExpression、ixCaseInsensitive和ixNonMaitained等几个值。

删除表用DeleteTable,它的声明如下:

void _fastcall DeleteTable(void);

下面来看一段示例:

void _fastcall TfrmMain::btnDeleteClick(Tobject *Sender)

{

if(tblMyTable->Active)//检查一下表是否打开

tblMyTable->Active=false;//先把表关闭了

tblMyTable->DatabaseName=DatabaseName;//指定库的别名

tblMyTable->TableName=”mytable’;//指定的表的名称

if(tblMyTable->Exists)//看一下表现在是否存在

tblMyTable->DeleteTable();//删除这个表

}

(未完)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有