Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92119904
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-15 13:04:11

    来源:赛迪网技术社区    作者:yuanyang

1 前言

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

2 系统的开发、运行环境

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

CLIENT端为486以上微机,16M以上内存,硬盘足够大,通过HUB、路由器、MODEM和SERVER连接。开发、运行平台是WIN95,安装了网络软件ONNET、ORACLECDE产品SQL*NETV2。开发工具是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!)
  iffn<>-1then
  fileread(fn,text)
  fileclose(fn)
  //并转换为文本
  article=string(text)
  s=len(article)
  forv=1tos
  t=pos(article,char(13)+char(10),v)
  ift>0then
  article=replace(article,t,2,"")
  else
  endif
  next
  mle_1.text=article
  //将处理后的文件c:\bb.txt存盘,
  文件中的回车换行符已全部去掉
  text1=blob(article)
  filname="c:\bb.txt"
  fn=fileopen(filname,streammode!,
  write!,lockwrite!,replace!)
  iffn<>-1then
  filewrite(fn,text1)
  fileclose(fn)
  endif
  //文本入库
  nr1=blob(mle_1.text)
  updateblobgljwjsetnr=:nr1wherebh=:pass_parm
  andzwrq=:fsjandwjbs=:fl5usingsqlca;
  commit;
  //放入MLE中查询
  selectblobnrinto:nr1fromgljwjwherebh=:pass_parm
  andwjbs=:fl5andzwrq=:fsjusingsqlca;
  mle_1.text=blob(nr1)
 
 

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

  
  selectnrinto:filenfromfwgswherebh=:bh1
  andlwrq=:zwrq1usingsqlca;
  fname="c:\filename.txt"
  fh=fileopen(fname,streammode!,write!,lockwrite!,replace!)
  iffh<>-1then
  filewrite(fh,filen)
  fileclose(fh)
  endif
 
阅读(245) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~