PB在数据库中存取二进制文件的方法

来源 :科学导报·教育论坛 | 被引量 : 0次 | 上传用户:jk305
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:探讨了用PB存取SQL Server数据库中二进制文件(如图片或Word文档等)的方式,并给出了员工信息管理系统中图片资料保存和显示的程序代码,强调了程序代码的关键点。
  关键词:大对象数据类型;信息系统
  1 引言
  在开发信息管理系统(Mis)时,经常会涉及图片处理,例如:需要处理员工照片,需要处理扫描后的档案资料等。在基于C/S结构开发的SQL Server数据库系统中,图片存取的方式主要有三种。①图片文件保存在固定的路径下,数据库中只保存文件的路径和名称,优点是可以节省磁盘空间,缺点是图片文件必须放在固定的目录下,不能丢失损坏,且同一目录下文件不能重名,图片文件比较零散,管理不便;②在SQL Server数据库中用Image类型字段保存图片文件,数据库若存放在网络服务器上,用户对数据的共享访问方便;③在本地用OLE存储结构存储备注文件。
  我们在开发信息管理系统时,经常使用PowerBuilder作为前台开发工具,SQL Server作为后台数据库管理平台,采用C/S结构,用SQL Server数据库中Image类型字段来保存图片文件。有关员工的信息管理系统中都包括人员基本信息,人员基本信息中有照片(图片)。在SQL Server数据库中建立表tab_ryxx,tab_ryxx包含字段m_sfzh(员工的身份证号码),类型是Varchar(18),m_photo(员工的照片),类型是Image,其它字段(略)等。该表可以用PB在前台直接创建,也可以用CREAT命令在后台创建。
  2 PB和SQL SERVER数据库的连接
  PB在访问数据库之前,必须首先要与SQL Server数据库建立连接关系。PB与SQL Server数据库的连接通过数据库接口来实现。我们在开发Mis系统时,经常将连接参数写到配置文件当中,如下:
  [Database]
  DBMS=MSS Microsoft SQL Server 6.x
  ServeName=[服务器名称]
  Database=[数据库名称]
  Logid=[用户名称]
  Logpass=[密码]
  AutoCommit=0
  3 PB处理大对象数据类型
  对于大二进制数据,在PB Script中是用Blob数据类型表示并加以处理。标准SQL语句中的select、insert和update语句无法直接处理Image类型的数据,在PB中操作Image类型的数据只能用专用的语句,从数据库中查询Image类型的数据的命令是:
  selectblob restofselectstatement {using transactionobjcot);
  updateblob tablename
  set blObeolumn
  restofupatestatement{using transctionobject};
  4 将图片文件保存到数据库的方法
  人员信息录入界面有二个功能按钮,一个是“预览图片”按钮,另一个是“保存图片”按钮。
  “预览图片”是用来把存在计算机中的图形文件(如文件后缀是“.BMP”、“.JPG”等图形文件)指定给该员工,因PB每次只能处理32KB的二进制信息,所以要利用循环语句将大图片分块读取。
  “保存图片”主要用UPDATEBLOB语句将照片文件存入数据库,如下:
  int fh,li_c,i
  string s_filepath
  blob bb_pic, bb_tmp
  long ll_len,ll_mid
  s_filepath=p_1.picturename
  if s_filepath<>’’ then
  ll_mid=dw_1.object.m_id[dw_1.getrow()]
  sqlca.autocommit=true
  ll_len = Filelength(s_filepath)
  li_c = (ll_len/32765)+1
  fh = fileopen(s_filepath, StreamMode!,read!,lockread!)
  For i = 1 To li_c
  FileRead(fh, bb_tmp)
  bb_pic = bb_pic + bb_tmp
  Next
  fileclose(fh)
  UPDATEBLOB tab_main SET m_photo = :bb_pic WHERE m_id = :ll_mid;
  if sqlca.sqlcode <> 0 then
  messagebox(“保存图片信息”, “失败!~r~n” + sqlca.sqlerrtext)
  end if
  sqlca.autocommit=false
  END IF
  5 显示数据库中的图片
  显示数据库中的图片主要用SELECTBLOB语句,具体代码如下:
  blob bb_pic1
  SQLCA.AUTOCOMMIT=TRUE
  SELECTBLOB m_photo INTO :bb_pic1 FROM tab_main WHERE m_id = :Ll_MID;
  if sqlca.sqlNROWS > 0 then
  f_write_bloltofile(bb_pic1,”temp.gif”)
  p_1.picturename=”temp.gif”
  p_1.setpicture(bb_pic1)
  end if
  sqlca.autocommit=false
  6 结论
  人员信息管理系统中的照片资料的最佳存储方式是用SQL Server数据库中的Image数据类型,它不需要字符集的转换,传输的效率也比较高,且不容易出现乱码现象,便于在客户端和服务器之间进行数据传输,用PB对数据库中的图片资料进行存取,不能直接用标准的SQL语句,必须用专门的UPDATEBLOB和SELECTBLOB命令。
  参考文献:
  [1]李劲.对PB访问数据库中大对象数据类型方法的研究.《微计算机信息》,2006年第21期
  [2]李玉东、马琳.PowerBuilder8.0控件与对象大全.电子工业出版社,2002年
其他文献
当今,信息素养已经成为信息时代每个公民必须具备的基本素质,成为评价人才综合素质的一项重要指标。学生的信息素养表现在四个方面,即:对信息的获取、管理和加工、表达和交流的能力;对信息及信息活动的过程、方法、结果进行评价的能力;表达观点、交流思想、开展合作并解决学习和生活中实际问题的能力;遵守相关伦理道德与法律法规,形成与信息社会相适应的价值观和责任感。作为一名信息技术课教师,我在教学中特别注重对学生信
期刊
计算机信息管理系统安全的影响制约因素很多,既有客观方面的原因,也有主观方面的原因。由于计算机信息管理系统的设计不够科学、不够规范以及缺乏安全方面的考虑,因而使计算机信息管理系统存在安全方面的隐患。此外,相关设备的配置不尽合理,其运行的不稳定性和功能不尽完善直接影响到计算机信息管理系统的运行质量、效益。加上有关管理制度的不够健全,管理与维护力度不够等,势必造成了计算机信息管理系统安全问题的频繁发生,
期刊
摘 要:现钻井现场使用的钻机及链条箱、转盘驱动箱等装置工作环境恶劣,负荷重,经常因润滑不良出现各种故障。为了能第一时间发现问题,把普通压力表更换为电接点压力表,通过压力变化,发生异常时自动报警,从而达到预防事故发生的目的。  关键词:钻井设备;事故;自动报警装置;电接点压力表  一、钻井设备润滑现状缺陷分析  上述主要钻井设备的主要润滑方式为密封油压式润滑,对于润滑油压力的要求较严格,机油压力过低
期刊
摘 要:普通高中阶段的信息技术课程是以提高学生的信息技术素养、促进学生全面而又富有个性的发展为基本目标。着力发展学生信息技术的应用为基础的信息信息技术实践能力,为学生应对未来挑战、实现终身发展奠定基础。  关键词:信息技术;主导作用;主体地位;评价机制  为贯彻落实教育部《基础教育课程改革纲要》的精神,贵州省普通高中开设了信息技术课程。普通高中阶段的信息技术课程是以提高学生的信息技术素养、促进学生
期刊
信息技术教学可以培养学生良好的信息素养,把信息技术作为支持终身学习和合作学习的工具,为适应信息社会的学习、工作和生活奠定必要的基础。而把每一节信息技术上得高效,这是所有信息技术教师共同的心愿。要想在教学过程中体现学科的本质,这就要求教师要有大教学观,注意信息技术与其它学科的整合.要精心准备好每一节课的教学内容打造高效课堂。通过几年的教学实践,我有以下几点心得体会,与大家交流。  一、游戏入门,自觉
期刊
摘 要:孩子缺乏自信心,必有其形成的原因,一般来说是源于对孩子过度关爱和保护,或是对孩子斥责和批评过多。只有找到了病根,才能对症下药。本文分析了幼儿缺乏自信心的原因和培养自信心的对策。  关键词:幼儿;自信心;缺乏;原因;培养;对策  所谓自信心,是由积极自我评价引起的自我肯定并期望受到他人、集体和社会认可的一种积极向上的情感倾向,是使人向上奋进的内部动力,是一个人取得成功的重要心理因素,是成功的
期刊
摘 要:由于政府行政介入、公司治理结构不完善以及缺乏有效的监督检查等原因,我国注册会计师审计市场存在大量的审计合谋现象,导致有预谋的审计信息失真,应从强化法律责任、建立诚信体系、完善公司内部治理结构等方面着手,妥善处理审计合谋问题,使审计市场走上规范化发展的道路。  关键词:审计合谋;成因;对策  Abstract:Because of government administrative inte
期刊
摘 要:新课程改革下的化学教学应以追求科学精神和人文精神为宗旨,以学生为主体,采取自主、合作、探究的教学方式,让学生真正体验到学习化学的乐趣和化学无穷的魅力以及做人道理,提升学生的综合素养。  关键词:初中化学;新课程;教学方法  义务教育阶段的化学课程,强调启蒙性和基础性,一方面以提高学生的科学素养为主旨,激发学生学习化学的兴趣,帮助学生掌握未来发展所需要的最基础的化学知识和技能,培养学生运用所
期刊
摘 要:初中信息技术教学由于自身的学科特点,其教学方法绝不能完全沿用传统的教学方法,教师要善于引导,根据信息技术的学科特点,设计合适的教学方法。本文将笔者在教学中总结的几种有效教学方法与同仁分享。  关键词:兴趣;任务驱动;自主学习  课堂教学有效性是指在教学活动中,教师采用各种方式和手段,用最少的时间、最小的精力投入,取得尽可能好的教学效果,实现预定的教学目标,满足社会和个人的教育价值需求而组织
期刊
摘 要:与模拟退火算法采用单个个体进行进化不同的是,遗传算法、蚁群算法与粒子群算法都是基于多个智能体的仿生优化算法,具有不确定性、概率全局优化、不依赖于优化问题本身的严格数学特性以及分布式并行等共同点。本文主要探讨自适应模糊的粒子群算法的改进与控制。  关键词:粒子群算法;自适应模糊;控制  一、基本粒子群算法的缺陷  作为一种模拟鸟类迁徙觅食过程建立起来的智能算法,粒子群算法与其他智能算法相比具
期刊