您的批评和鼓励都是我把编程无限办好的动力! 您编程时遇到困难,或遇到不顺心的事想发发牢骚尽管到这里来吧! 虽然本网力求全面,但也不能包罗万象,这些我筛选出的优秀网站连接就是对本站最好的补充! 学习编程当然也离不开书本了,这里收集大量编程书籍! 编程无限之源码超市,这里收集的代码令你意想不到的全面! 欢迎光临编程网校,这里专门收集VB/CB入门文章及技术文章! 欢迎光临编程无限!
     
       
 
当前位置:中文资料 >> 控件技术
怎样使用VB开发基于Sybase的软件
  资料类型: 控件技术 上传时间: 2001-02-21 阅读次数: 2027



怎样使用VB开发基于Sybase的C/S软件

  Sybase数据库是Sybase公司开发的大型数据库产品,一向以高性能和高可靠性而闻名于市场,在我国的应用已是十分广泛。另外,因为Sybase的存储过程可以按行返回记录,对于复杂的查询,可编写存储过程,因为存储过程是预编译了的(除非你要求调用时编译),所以返回结果非常快,而其它有的数据库存储过程是不能返回记录集的(如Oracle,除非采用Oracle提供的OLE Automation方法)

  在微软Windows大行其道的今天,友好直观的Windows界面成为用户需要,Sybase的PowerBuilder是提供给开发人员的一个方便快捷的开发工具,但从性能上讲它不是最优的,下面我谈谈怎样利用VB5.0和VB6.0在Sybase For NT数据库上进行开发,VB是MicroSoft??司提供的功能强大的开发工??,它?¨开发C/S数据库软件方面从综合开发周期和性能上来讲较之其它的开发工具有其优势。

  1、配置数据库服务器

  ①、在NT上安装Sybase数据库,直接运行Setup安装程序,在Windows NT Product Selection Screen对话框中,复选language Moudles,并点击Custom,在弹出对话框中US.English和Chinese一定要选取,这样可很好支持中文。

  ②、在接口文件配置中,可稍后配置。

  2、安装Win9x客户端或Win3x客户端

  和服务器安装类似,在Product Set Select 对话框中选取相应产品,即客户端是Win9x选取Windows 95 Products(32-bit versions),客户端是Win3x则选取Windows Products(16-bit versions)。在用SQLEDIT生成接口文件时,注意选取正确的网络协议

  3、安装ODBC驱动程序,微软没有为Sybase提供ODBC驱动程序,你可向经销商索取或到网上去“D”。

  4、以上工作完成后,下面分别就VB5.0和VB6.0同Sybase服务器的连接和操作作一简单介绍。

  在VB5.0中,访问远程数据库的较好方法是通过RDO(当然你也可以用DAO或直接使用ODBC)

  两种:DSN连接和无DSN连接,下示列程序均有说明

  此处打开的是master数据库,数据库服务器名为WIND,SQL Server 11,ODBC驱动程序是Sybase System 11,如用DSN连接,用控制面板ODBC驱动程序管理器,建立的DSN名是SybDSN



  新建工程,在工程菜单中引用Microsoft Remote Data Object 2.0

  Public enTest As rdoEnvironment     注释:声明rdo环境对象,为工程级全局变量

  Public cnTest As rdoConnection   注释:声明rdo连接对象,为工程级全局变量

    注释:最好不设为局部,否则即使断开连接,也将在数据库服务器端中保存连接的缓冲区,将会

    注释:占用服务器资源,甚至可能造成服务器的性能降低甚至死锁。



    注释:定义记录集变量

   Dim rsTest As rdoResultset



   注释:连接子程序

   Public Function connectSybase() As Boolean

     On Error GoTo ErrHandle

     Dim strConnect As String

     Set enTest = rdoEngine.rdoEnvironments(0)

     enTest.UserName = "sa" 注释:用户名

     enTest.Password = "password" 注释:口令

     注释:通过下句与ODBC数据源进行连接,不需用户选择数据源

     Set cnTest = enTest.OpenConnection(dsName:="SybDSN", _

     Prompt:=rdDriverCompleteRequired)

  注释:注意:如果你不想建立DSN,可采取无DSN连接方法如下:

  注释:将上句改为    Set cnTest = enTest.OpenConnection(dsName:="", _

     注释:   Prompt:=rdDriverNoPrompt, _

  注释:       Connect:="driver={Sybase System 11};" _

  注释:     & "srvr=WIND;database=master;")

     connectSybase = True

     Exit Function

  ErrHandle:

     connectSybase = False

  End Function



  Private Sub Form_Load()

   Dim strSQL As String

  if connectSybase then

  strSQL="Select * from sysusers" 注释:strSQL可以是SQL语句(块),存储过程

  Set rsTest = cnTest.OpenResultset(strSQL, rdOpenDynamic)

  else

  msgbox "打开数据库失败"

  Exit sub

  end if    

  Do Until rsTest.EOF

  Debug.print rstest.fields(0),rstest.field(1)

  rsTest.MoveNext

  Loop

  End Sub

  VB6.0的在数据库方面的新特性,使用ADO对象,和OLE DB。微软建议新的数据库工程采用ADO。此处先将ADO,OLE DB作一简介:

  ADO使得客户端应用程序能够通过任何OLE DB提供者来访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少 和磁盘遗迹小。

  OLE DB是新的底层接口。它定义了一种通用的数据访问范例。也就是说,OLE DB并不局限于ISAM、Jet甚至关系数据源,但是它能够处理任何 类型的数据,而不考虑它们的格式和存储方法。由于接口比较复杂,不能在Visual Basic中直接访问OLE DB。ADO封装并且实现了OLE DB的所有功能。 VB 6.0对ADO有完整的支持,可以通过ADO、OLE DB的接口,调整OLE DB的灵活性。甚至可以在VB中创建自己的OLE DB提供程序。

  ADO的另一个功能是远程数据访问(RDS),能够通过一个往返传输将数据从服务器移动到客户端应用程序或Web页中,然后在客户端对数据进行操作,最后将更新数据返回服务器。RDS现在的版本是RDS 1.5。RDS已与ADO编程模块合并以简化客户端数据的远程调用。

  有关ADO的更详细信息,读者可查阅MSDN中的相关文档。

  VB6.0也可通过RDO和Sybase数据库进行连接,连接方法和VB5.0一样,但ADO较RDO有更大的优越性。

  VB6.0用ADO连接Sybase数据库采用OLE DB For ODBC Driver

  新建工程,在工程菜单中引用Microsoft ActiveX Data Object 2.0 Library



  Public cnTest As New ADODB.Connection     注释:声明ADO连接对象,为工程级全局变量

    注释:连接子程序

  Public Function connectSybase() As Boolean

   On Error GoTo ErrHandle

   Dim strConnect As String

   注释:通过下句与ODBC数据源进行连接,不需用户选择数据源

   strConnect = "Provider=MSDASQL.1;Persist Security Info=False;" _

       & " Extended Properties=注释:DSN=chs;SRVR=WIND;DB=master;UID=sa;PWD=注释:"

   cnTest.Open strConnect

       注释:注意:如果你不想建立DSN,可采取无DSN连接方法如下:

       注释:将上句改为 strConnect="Provider=MSDASQL.1;DRIVER={Sybase System 11}; " _

       注释:   & " Persist Security Info=False;DSN=;" _

   & " SRVR=WIND;DB=master;UID=sa;PWD=password"

   注释:Persist Security是否采用集成安全机制

   connectSybase = True

   Exit Function

  ErrHandle:

  connectSybase = False

  End Function

  Private Sub Form_Load()

   Dim rsTest As New ADODB.Recordset

   Dim strSQL As String

   If connectSybase Then

     strSQL = "Select * from sysusers" 注释:strSQL可以是SQL语句(块),存储过程

     rsTest.CursorLocation = adUseClient

     rsTest.Open strSQL, cnTest     注释:cnTest为打开的活动的连接

   Else

     MsgBox "打开数据库失败"

     Exit Sub

   End If

   Do Until rsTest.EOF

     Debug.Print rsTest.Fields(0), rsTest.Fields(1)

     rsTest.MoveNext

   Loop

  End Sub

  以上只谈了和Sybase数据库的连接及简单的查询,其它操作对程序员来讲和其它数据库的编写大致相同,读者可自行编写复杂的SQL语句对数据库进行增、删、改等操作。

推荐给朋友 点 评( 0 ) 返回前页 关闭此页
   
  本类最热文章排名:
  1.自制控件方面的有关知识
2.在程序中注册和注销 OCX 控件
3.运用MSChart,生成统计图形
4.在Visual Basic中,在GotF...
5.用VB设计聚焦框程序
6.直接编辑VB中网格控制项的两种方法
7.自制IE风格按纽控件
8.如何用VB6写COM组件(一)
9.用WinSock设计Chat程序
10.ActiveX控件的创建
   
   
  评论:
 
 
 

 

关于本站 版权声明 联系方法
编程无限 V4.1 Copyright © 1999-2008 21code.com

京ICP备05006938号