首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>用VB和RDO访问SQL SERVER

用VB和RDO访问SQL SERVER

2001-12-21 19:12作者:  出处:  责任编辑:方舟


  VB是对象语言,Form、ActiveX控件也都是对象。使用对象后必须养成将对象设为Nothi ng把它从内存中释放的编程习惯。这样可以预防很多不可预测错误,往往程序中发生意义不明的错误时,其原因就在于此。
数据的取得

  与数据库连接成功之后,接下来就是取得数据。一般用OpenResultset方法取得数据,这里首先需理解数据库中与此有关的[游标]概念。

  一言以蔽之,游标[cursor]就是指向依据一定的条件从数据库中抽取的数据的多个指针。也就是说游标是用作指向由数据库返回的数据的方法。

  RDO 支持几种不同的游标库,其中每一种都有其特定的作用:向前滚动型的结果集(rdOpenForwardOnly-缺省值)、静态滚动型结果集(rdOpenStatic)、可滚动的查询结果集(rdOpenKeyset)和动态可滚动的查询结果集(rdoOpenDynamic)。在使用RDC的情况下,游标的值设定为ResultsetType属性;在使用RDO的情况下,通过OpenResultset方法的Type参数进行设定。游标又分为[服务器端游标]和[客户端游标],这需要根据程序的性质、处理内容的不同来选择适当的方式。也有不使用游标的情况,比如当只进行数据读取时,使用rdUseNone选项更为合适。

  关于是否使用游标、使用何种游标,需考虑下面一些情况:
 
   * 需要读取多少行数据?要读取全部或只是几行数据?

   * 是否等待游标的创建完成?对于用户来说等待时间是否在允许范围之内?

   * 用来保存已创建游标的系统资源(内存容量),在用户端或服务器端是否充足?

   * 从服务器端返回的结果怎样读取?有必要从当前行随意移动,还是从最初到最后顺序读取为好?

   * 游标的成员关系怎样定义?

   * 数据如何更新?数据有没有更新的必要?是通过Execute方法将游标的数据进行更新,或是由存储过程更新?

  关于游标的详细介绍,请参照Visual Basic Books Online以及SQL Server用户手册。这里介绍从RDO对象读取数据的几种方法:

   * rdoResultset对象,这是RDO的基本游标对象。与DAO的Recordset对象相似,可应用于各种游标以及无游标的场合。可以通过rdoConnect对象或rdoQuery对象的OpenResultset方法创建rdoResultset对象。

   * rdoQuery对象,与DAO的QueryDef相似,在进行一次性查询时使用,用于取代已经过时的由rdoConnection对象的CreatePreparedStatement方法创建的rdoPreparedStatement对象。rdoQuery对象直接调用ODBC的SQLPrepare。

   * UserConnection对象,在VB5.0以及RDO 2.0中新增加的对象,这里不作详细阐述。它是一个非常优秀的对象,使RDO使用起来更加容易。

   * rdoTable对象,是rdoTables集合的成员,用来显示SQL Sever上的一个表的内容。

  编程中通常运用前3种方法中的某一种,而第4种一般不太用。

  不论使用哪一种方法,都有必要给出SQL语句。在绝大多数的情况下,SQL语句是针对SQL Server,从哪个表以何种条件读取哪一行的数据,如(SELECT * FROM table1 WHERE field1 = “condition”)。运行存储过程时用Name参数指定存储过程,程序能自动判别是RDO 2.0的还是存储过程的SQL语句。在以存储过程为核心的情况下,利用UserConnection将存储过程作为方法来处理最为妥当。
 
共5页。 9 1 2 3 4 5 :

关注此文的读者还看过:

返回开发频道首页

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络