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

开 发 基 于ORACLE7 数 据 库 的 管 理 信 息 系 统-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
开 发 基 于ORACLE7 数 据 库 的 管 理 信 息 系 统-Delphi资料

1 前 言

开 发 高 水 平 的“ 管 理 信 息 系 统”, 选 择 性 能 优 越 的 数 据 库 是 最 重 要 的 一 环, 我 们 经 过 多 方 面 的 调 研 和 分 析, 选 择 了ORACLE7 数 据 库, 成 功 地 开 发 了 本 系 统。 实 践 证 明, 本 系 统 设 计 科 学、 合 理、 运 行 稳 定, 本 文 将 具 体 阐 述 一 下 系 统 中 应 用ORACLE7 数 据 库 的 方 法 和 技 术。

2 系 统 的 开 发、 运 行 环 境

本 系 统 在CLIENT/SERVER 结 构 上 运 行,SERVER 为CDC 4360 小 型 机, 和 快 速FDDI 环 网 相 接, 内 装 有UNIX 操 作 系 统 和ORACLE7 数 据 库, 系 统 总 体 网 络 协 议 为TCP/IP 。

CLIENT 端 为486 以 上 微 机,16M 以 上 内 存, 硬 盘 足 够 大, 通 过HUB、 路 由 器、MODEM 和SERVER 连 接。 开 发、 运 行 平 台 是WIN95, 安 装 了 网 络 软 件ONNET、ORACLE CDE 产 品 SQL*NET V2。 开 发 工 具 是POWERBULDER5.0( 以 下 简 称PB5)、VB4 等。

3 ORACLE7 在 系 统 中 的 各 种 应 用

3.1 一 般 性 的 数 据 管 理

一 般 性 的 数 据 管 理 用 数 据 窗 口 管 理 最 方 便, 可 以 在 数 据 窗 口 中 进 行 表 的 增、 删、 改、 查 询 等 操 作, 下 边 是 一 些 具 体 例 子(PB5):

3 .1 .1 连 通ORACLE 库, 并 将 数 据 装 入 数 据 窗 口:

dw_1.SetTransObject(sqlca)

dw_1.Retrieve()

3 .1 .2 增 加 一 条 记 录

dw_1.InsertRow(dw_1.GetRow( ) + 1)

3 .1 .3 删 除 一 条 记 录( 当 前 记 录)

dw_1.DeleteRow(0)

3 .1 .4 将 数 据 提 交 入 库( 存 盘)

dw_1.Update( )

commit;

3 .1 .5 打 印 数 据 窗 口( 表) 中 的 数 据

dw_1.print()

3 .2 文 字 类 数 据 管 理

3 .2 .1 文 本 入 库 和 查 询

文 本 入 库 和 查 询 可 采 用PB5 的MLE( 多 行 编 辑 器) 作 界 面, 编 辑 完 成 后 存 入ORACLE7 的LONG 字 段 中, 查 询 时 从LONG 字 段 中 取 出, 放 入MLE 中 查 询, 下 边 是 一 个 例 子:

//文本的预处理(以去除文本文件中的回车换行符为例说明)

//将文件读入BLOB型变量

text中fn=fileopen(txtname

streammode!)

if fn< > -1 then

fileread(fn

text)

fileclose(fn)

// 并 转 换 为 文 本

article=string(text)

s=len(article)

for v=1 to s

t=pos(article

char(13)+char(10)

v)

if t >0 then

article=replace(article

t

2

)

else

end if

next

mle_1.text=article

//将处理后的文件c:\bb.txt存盘,

文件中的回车换行符已全部去掉

text1=blob(article)

filname="c:\bb.txt"

fn=fileopen(filname

streammode!

write!

lockwrite!

replace!)

if fn< >-1 then

filewrite(fn

text1)

fileclose(fn)

end if

//文本入库

nr1=blob(mle_1.text)

updateblob gljwj set nr=:nr1 where bh=:pass_parm

and zwrq=:fsj and wjbs=:fl5 using sqlca;

commit;

// 放 入MLE 中 查 询

selectblob nr into :nr1 from gljwj where bh=:pass_parm

and wjbs=:fl5 and zwrq=:fsj using sqlca;

mle_1.text=blob(nr1)

3 .2 .2 从 库 中 重 新 生 成 文 本 文 件filename.txt 并 存 盘

select nr into :filen from fwgs where bh=:bh1

and lwrq=:zwrq1 using sqlca;

fname="c:\filename.txt"

fh=fileopen(fname

streammode!

write!

lockwrite!

replace!)

if fh< >-1 then

filewrite(fh

filen)

fileclose(fh)

end if

3 .3 处 理 图 象 文 件( 大 的 二 进 制 文 件)

图 象 文 件( 一 般 为BMP 位 图 文 件) 是 二 进 制 文 件, 将 其 以 数 据 流 方 式 存 入ORACLE7 的LONG 字 段 中, 查 询 时 从LONG 字 段 中 取 出, 放 入 图 象 框( 如p_1) 中 查 询, 下 边 是 一 个 例 子:

// 将 图 象 文 件 读 入BLOB 型 变 量pict 中

fn=fileopen(picname

streammode!)

if fn< > -1 then

fileread(fn

pict)

fileclose(fn)

// 将 图 象 放 入 图 象 框p_1 内 查 看

setpicture(p_1

pict)

end if

// 将 图 象 存 入 表pic 的LONG 字 段bmpt 中

updateblob pic set bmpt=:pict ;

commit;

较 大 的 图 象 文 件 一 次 不 能 入 库, 可 采 取 分 割 图 形 的 方 式, 分 块 存 入, 因 为LONG 字 段 所 存 放 的 数 据 大 小 一 般 是 没 限 制 的( 可 存 放2G 的 内 容)。

4 开 发 应 用 经 验

4 .1 建 议CLIENT 端 通 过SQL*NET V2 进 行ORACLE 数 据 通 信( 不 用SQL*NET TCP V1 产 品)

因 为 在ORACLE7 推 出 以 后,SQL*NET V1 就 没 有 做 一 些 改 进 工 作, 继 续 支 持 到ORACLE7.2

ORACLE7.3 以 后 的 产 品 将 不 支 持SQL*NET TCP V1, 所 以,ORACLE7 用 户 应 立 即 改 用SQL*NET V2, 不 然 会 影 响 到 库 的 运 行 稳 定 性。

ORACLE CDE2 和Developer 2000 提 供 了CLIENT 端ORACLE 产 品 的 安 装 程 序ORAINST.EXE, 运 行 该 文 件 来 安 装SQL*NET V2, 选 择 的 产 品 有:

a ORACLE TCP/IP ADPTER 2.1.4.1.3

b sql*net 2.1.4.1.4

在WIN95 下

网 络 软 件 产 品(Tcp/IP Vendor) 选 择Microsoft windows NT Tcp/IP 3.1

按 提 示 说 明 装 入 就 可 以 了, 另 外 还 要 做 以 下 工 作:

将SERVER 上 的tnsnames.ora 文 件 复 制 到CLIENT 端c:\orawin\network\admin 目 录 下:

ora7=(DESCRIPTION=

(ADDRESS=

(PROTOCOL=TCP)

(HOST=111.1.1.1)

(PORT=1521)

)

(CONNECT_DATA=(SID=ora7))

)

可 在SQLPLUS 下 键 入 连 接 命 令scott/tiger@ora7 测 试 连 接 情 况。

首 先 要 作 好 这 三 件 工 作:

4 .2 采 取 数 据 加 密 技 术

对 用 户 来 说, 查 询 信 息 是 有 权 限 的, 若 想 查 询 某 项 保 密 数 据, 需 正 确 地 键 入 密 码, 才 能 查 到。 面 对 同 一 台 微 机, 谁 能 正 确 地 键 入 密 码, 谁 就 能 做 查 询, 该 系 统 通 过 自 定 义 一 些 复 杂 的 函 数 运 算 产 生 密 码, 从 表(TABLE) 中 找 不 到 密 码 数 据, 通 过 这 种 精 密 的 设 计 处 理, 达 到 了 数 据 保 密 要 求。 下 边 是 密 码 修 改 和 识 别 的 一 段 程 序(PB5) :

password=sle_1.text

a8=pos(sle_1.text

/

)

if a8 >=1 then

password=left(sle_1.text

a8 - 1)

newpassword=mid(sle_1.text

a8+1

len(sle_1.text) - a8)

end if

select dwbm into :dm from dw where mm=:password;

sle_1.text=""

if sqlca.sqlcode< >0 then

messagebox(" 警 告:"

口 令 错 !

)

pw=pw+1

if pw >=3 then

close(w_bg_main)

end if

else

mm=dm

if a8 >=1 then

a7=messagebox("提示信息"

确定要修改口令吗(y/n)?

information!

YesNo!

2)

if a7=1 then

select dwbm into :a9 from dw where mm=:newpassword;

if sqlca.sqlcode< >100 or newpassword="" then

messagebox(" 提 示 信 息"

新 口 令 错 !

)

goto end1

else

update dw set mm=:newpassword

where mm=:password;

messagebox("请记住新口令"

string(newpassword))

commit;

end if

end if

end if

4 .3 用EXCEL 输 出 精 美 表 格

用VC 或PB5 将ORACLE 库 中 的 数 据 生 成 文 本 或EXCEL 文 件, 再 通 过EXCEL 的 数 据 链 接, 将 对 应 数 据 调 入 事 先 定 义 好 的EXCEL 标 准 输 出 表 中, 按 用 户 的 要 求 输 出。

PB5 生 成EXCEL 格 式 文 件 的SCRIPT 语 句 举 例 如 下:

dw_1.SaveAs("c:\glxx.xls"

excel!

true)

4 .4 正 确 使 用 日 期 型 数 据

在 库 操 作 过 程 中, 若 日 期 变 量 的 值 定 义 错 了, 将 提 示SQL 语 句 出 错 信 息, 错 误 现 象 非 常 隐 蔽, 不 好 察 觉, 这 是 编 程 过 程 中 的 常 见 错 误, 在 此 特 别 强 调 一 下。 举 一 个 例 子:

若 日 期 数 据 为 常 量, 要 按 下 列 格 式 赋 值( 用 一update 语 句 说 明):

update tab set rq='1-Feb-96';

commit;

5 结 束 语

该 系 统 的 开 发 和 应 用, 使 我 们 更 加 体 会 到 了ORACLE 数 据 库 的 优 越 性, 本 系 统 的 开 发 成 功 与 此 是 分 不 开 的, 我 们 将 做 进 一 步 探 索, 用 先 进 的 开 发 工 具 和 升 级 的ORACLE8 开 发 面 向 网 络 的 和 多 媒 体 的“ 管 理 信 息 系 统”。

看国外巨头如何“绑架”用户? 一周消息树:5.5寸屏幕的iPhone 6概念机来袭、索契冬奥会开幕式现Bug 一周热点:美国大学生数学建模分析,Hadoop不是万能,探访雅虎数据中心 Google Play services 4.2全球推送,完全支持Chromecast! 移动周报:最快的Web开发IDE——HBuilder Google Glass是空有噱头还是实用品? 服务好“最后一公里”,高效CDN架构经验 “义军”突起,帮用户夺回大数据控制权 为安全,Google收购基于超声波密码验证技术公司SlickLogin 2014 Shenzhen Maker Faire:国内顶级创客聚会即将举行 若无创新,智能手机将是死路一条 任道远上任VMware中国研发中心总经理 Windows免费,微软方能解救PC市场 Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解 将会出现iCar?苹果应该收购特斯拉的七大原因 广大程序员的福音:Bing Code Search扩展助你方便查找代码 深挖线下价值是当前婚恋交友网站获取盈利的突破点 15个最好的Bootstrap设计工具推荐 Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【附PPT】 Webix 1.5发布:一个强大的JavaScript UI组件库 四大著名风投:在我们眼中只有技术革新 美女CEO谈AWS:是香水还是毒药 国外一学生发明新计算机系统,用微芯片代替硬盘 《近匠》第12期:Yeelink——智能硬件云服务 三星Galaxy S5:home键内置指纹识别传感器、5.25寸2K屏幕 Google发布Google Glass使用守则 三星将发布新款智能手表 搭载Tizen系统抛弃Android 从Camera360 V5版本发布,看现代相机应用趋势 索契冬奥会API:赛事的数据直播 为什么开源企业的开源大旗正在褪色 尘埃落定 腾讯确认投资大众点评,获20%股份 如何在Delphi6 程序中,把数据库(BDE)连接的用户名、密码写进程序中? 汉字组成的字符串转成char[]数组,再组合起来就出现乱码 WEB控件 textbox控件的问题,我从来没有遇到过,真奇怪? 求救!在线等 向高手求救,有关java中文的问题!!! 怎样在数据库中查出本周的记录。是ACCESS数据库。为什么高手都不进来。是问题太难吗 如何将任务栏的图标隐藏? 怎么google上不去了? SQL简单问题 关于html中进行文本编辑中操作图片的问题?请各位大虾来看看结贴一定给分 哪儿有H.323的资料呀? 我是菜鸟: ReportBuilder 中明细记录的序号怎么加? 屏蔽输入的字符 求解分数排名的权数确定 如何实现海量数据数据库的快速查询?? 有谁知道TreeView的AutoSelect属性是干嘛用的?? vc60编译出错问题? 请问编写调试JavaScript用什么软件比较好? 救命啊!!!!! 和父母一直搞的不好,怎么办? 客户端连接问题 求救 VFP:event.prg不存在? 宏和内联函数有什么具体的区别 请问如何将HTML页面直接插入TWebBrowser而不通过文件存取?谢谢! 如何将任务栏的图标隐藏? SQL Server7.0我的一个表才5万条数据,用这样的SQL Select * from Diner 语句查询要几十秒钟?太慢了。 请高手指点迷津!!! 2035年9月7日新华社报道 我的IE菜单怎么变成英文的了? GetFileVersionInfoSize,GetFileVersionInfo, VerQueryValue通过他们...... 谁知道文件上传组件:w3upload ,哪里有下载? 向高手求救,有关java中文的问题!!! 请教关于信息分析的好的软件有哪些?(100分) 急!如何使JTable中的某一列中的所有单元格只能输入数字?(急需源代码!)感谢! 怎样判断数据连接? 你是一个真正的程序员吗? 串口接收二进制数据一问,高分相送 关于关机的问题 Linux gcc 一弱弱问题 关于《阳春白雪》安装的问题,急! 发现index.aspx页面的ImageButton事件无法跟踪调试 怎么google上不去了? VB当中相当于VC当中的Continue(跳出一次循环,接着进行下一次循环)的语句是什么? 请教:Jsp中一个有关日期的简单问题! 我这边有个问题,用分1000给答的好人啊。。望各位兄弟帮帮忙啊! 如何使属性页和属性单占用资源减少? 为什么有时候gets()会停都不停,不让用户输入,而有时候却正常? 串口读取二进制数据一问,高分相送 一个小VB程序 下载了Delphl5.x ADO/MTS/CoM+(李维) 是PDF格式的,不能打印,该怎么办?那里可以下载到可打印的啊? 不难,关于程序调用的问题 夏天池塘内的鱼出现浮头现象,原因是? 为什么深海里面的鱼长得那么丑? 看到定义说左右极限都存在,x才是可去间断点,为什么-1,3这两点是可去间断点?-1不是只有右极限,3只有左极限么? “OT”是啥意思拜托了各位 谢谢 初三上学年化学元素符号 什么是构成人体的主要从材料? 耽美经典语句 请问“OT”是什么意思? 化学元素符号级名称(初三)咳咳~开学第一节化学课、老师说要背元素周期还不知道是什么的、、那个给下初中所有的化学元素、、格式要 二氧化碳Co2 水H2o 镁...氧化镁...就这个格式 网络语言“BL”是什么意思 风力发电的风扇为何竖放且只两个扇叶 初三化学元素的名称和符号要求;按初三化学书的标准.最好按顺序..... 血浆的主要成分是什么 "OT"是什么意思? 请问石油钻井中,常见到测井队使用中子源,会对靠近的人有影响吗?中子源入井后,放射出来的辐射会停留在泥泥浆返出地面后,会夹带辐射对人体有影响吗?本人是名泥浆工,未婚! 胃蛋白酶可以催化下列哪种物质的消化?A猪肉 B花生 C 苹果 D饮料 为什么与外界隔绝的新挖池塘会生出鱼呢?一直有一个问题感觉非常奇怪.我们家附近前两年挖了一个小池塘.这两年回家发现池塘里好多的鱼.绝对没有人在里面放养.而且附近没有水系.老人们 在外面的池塘,自然生长的鱼, 风力发电怎样输送 新挖的池塘,水是雨水提供的,一段时间后为什么就会有鱼?鱼卵是雨水带来的吗? 补偿中子测井的简写是什么 碱石灰由什么组成的 铝制品如何自制成铝粉?如题 我现在有一个鱼塘,是天然的,所以池塘底是沙子的,我想了解一下像这样条件的鱼塘适养什么鱼合适》我现在有一个鱼塘,是天然的,所以池塘底是沙子的,我想了解一下像这样条件的鱼塘适合养 神经兴奋恢复是否仅零电位,胃蛋白酶是否都生长在酸性环境中 盛铝粉的烧杯怎样清洗 我在北方宁夏有60亩的自然鱼塘,怎样养,养什么鱼收益大,希望大家给出意见水质条件较好,面积较广. 为什么纤维素可以造纸,淀粉却不能? 一个池塘里养了一些鱼,为了估算该池塘中有多少条鱼,养鱼人第一次从池塘中捕捞一网共40条鱼,它们全被做上标记,然后放回池中,经过一段时间,等带标记的鱼完全混合于鱼群后,再第二次从池 哪里棉被绗缝机器好一些?棉被绗缝机价格贵吗?我要是购买棉被绗缝机的话,应该去哪里购买才能购买到好一些的呢? 预糊化淀粉粘度在造纸中能起到硬度吗 水性铝粉表面的有机质如何清洗我现在用上海某铝粉公司的水性1025铝粉,现在需要对铝粉进行清洗,但是苦于没有合适的清洗剂,丙酮买不到,还有什么其他的清洗剂可以清洗铝粉表面的有机质. 直线多针绗缝机可以做棉被吗 OT是什么意思 怎么清洗铝制品? 房子前头的泰山石敢挡有什么故事么? 网游中的ot是什么意思? 所有塔罗牌的英文 地层剖面图的方向怎么确定,比方说剖面图上方有个SE130, 刻意OT是什么意思 将初三的化学元素符号给我要有元素名称和符号对照 镀金一定需要电吗 2.OT是什么意思 请问“MAP ”英文缩写 电镀金与化学镀金的区别、优劣? 树状分类法和交插分类法各有何特点! 在汽车系统里MAF是什么意思? 汽车型号英语简写含义 按照树状分类法.乙醇属于什么 MAP是什么的英文缩写 塔罗牌一共多少张 名称分别是什么? 树状分类法 cs起源各类地图英文缩写及其意思 六一国际儿童节 英文版要英文的 古代生物化石是不是生物 想把温泉馆标注到百度地图和汽车导航中找谁?恩,地图涉及到国家机密,现在国内只有一家公司在测量和商用,叫四维图新,是上市公司,如果像我这样的想把公司或商铺标注到地图上,就要找他的 求有关每个塔罗牌的名称和解释因为想写有关塔罗的小说,然后我又是菜鸟,汗 夏天,有些池塘会突然变绿,水质变坏变臭,鱼类死亡,发生该现象的地区常有化肥或去污剂被排放到池塘.请设计实验,探究化肥和去污剂(如含磷洗衣粉)是否是引起池水变绿的原因,记录实验现 大自然的鱼为什么没有胀死的 请问这个极限1+和1-到底为什么会是这样的结果呢?遇到这样的情况总是很混淆.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘