当前位置: 网学 > 编程文档 > VB > 正文

用VB和RDO访问SQL Server

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
ultset方法,除了name参数以外,也可以使用lock、 locktype、option等。下面是从Resultset中将数据读取到ListBox中的方法:
Do Until Rs.EOF
    List1.AddItem Rs(“au_lname”)
    Rs.MoveNext
Loop
    存储过程虽然不在本文讨论的范围内,这里也简单地介绍一下。存储过程基本上有以下4种类型:
{call myStoreProcedure} '' 没有参数的存储过程
{call myStoreProcedure(?)} '' 单一的输入或输出参数
{? = call myStoreProcedure(?)} '' 单一参数、有返回值
{? = call myStoreProcedure(?, ?)} '' 多个参数、有返回值
    下面演示一个运行存储过程的例子:
sp_GetVendorCount参数是名称的条件,其返回值为符合该条件的记录数。
Dim CPw As rdoQuery
Dim sSQL As String
SSQl = “{? = call sp_GetVendorCount(?)}”
    这里“名称的条件”是输入参数,由ODBC驱动器进行自动识别。使用rdoParameters(n).Direction可以对返回值(rdParamReturnValue)、输入参数 (rdParamInput) 、输出参数(rdParamOutput)和输入输出参数(rdParamInputOutput)加以控制。但通常ODBC都会读入存储过程的定义式,并加以正确识别,所以绝大多数的情况下不必使用这个参数。
Dim CPw = Cn.CreateQuery(“GetVendorCount”, sSQL)
    代码生成名为GetVendorCount的rdoQuery对象,并将rdoQuery对象自动增加到rdoQueries集合中,以后可以重复使用。
    现在将CPw对象的第一个参数指定为返回值:
CPw.rdoParameters(0).Direction = rdParamReturnValue
    最后由Execute方法运行:
CPw.Execute
    返回行的查询(存储过程中包含一个以上的SELECT)时,可使用OpenResultset方法。运行后,可通过rdoParameters集合取得返回值:
If CPw.rdoParameters(0) > 0 Then
    MsgBox CPw.rdoParameters & “数据取得成功”
Else
    MsgBox “数据读取失败”
End If


数据的追加、更新、删除
    对SQL语句已经有一定了解的读者,应该比较熟悉INSERT、UPDATE、DELETE等语句。对于rdoConnection对象,虽然可以在OpenResultset的Name参数中直接代入SQL语句,用Execute方法运行,但没有充分利用RDO对象的长处。在rdoResultset中有AddNew、Edit、Update、Delete、MoveNext、MovePrevious、MoveFirst、MoveLast方法,与DAO/Jet相似,用起来非常便利。
    下面在先前的Resultset的例子中追加记录:
Rs.AddNew
Rs(“au_id”) = “111-46-1992”
Rs(“au_lname”) = “Takenami”
RS(“au_fname”) = “Teruo”
''设定所有的field,通常调用Call SetField,在别的模块中设定
Rs.Update
    与SQL语句中的INSERT相比起来,这种方法非常简单,而且代码可读性好。记录的更新方法如下,与追加相似,所不同的只有最初的Edit方法:
Rs.Edit
Rs(“au_lname”) = “Takenami”
RS(“au_fname”) = “Teruo”
''设定所有的field,通常调用Call SetField,在别的模块中设定
Rs.Update
    在实际应用中,字段的更新放在别的模块中,便于从AddNew、Edit两种处理中都可以进行调用。
    使用Delete方法删除记录时,当前行被删除。当前行可以通过MoveNext、MovePrevious等Move方法以及Bookmark属性设定。
Rs.Delete ''删除当前记录
    这里需要注意的是当前记录被删除之后记录指针的位置。Delete执行后,记录指针仍然指向已被删除的记录,也就是空的记录,对这
  • 下一篇资讯: [VB]
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号