您的位置:程序门 -> vb -> 基础类



如何用vb调用存储过程?谢谢大家了


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何用vb调用存储过程?谢谢大家了
发表于:2007-01-05 15:25:05 楼主
rt
发表于:2007-01-06 00:28:471楼 得分:0
大家帮帮我啊
发表于:2007-01-06 08:42:272楼 得分:0
该范例使用   append   和   createparameter   方法执行具有输入参数的存储过程。

public   sub   appendx()

      dim   cnn1   as   adodb.connection
      dim   cmdbyroyalty   as   adodb.command
      dim   prmbyroyalty   as   adodb.parameter
      dim   rstbyroyalty   as   adodb.recordset
      dim   rstauthors   as   adodb.recordset
      dim   introyalty   as   integer
      dim   strauthorid   as   string
      dim   strcnn   as   string

      '   打开连接。
      set   cnn1   =   new   adodb.connection
      strcnn   =   "provider=sqloledb; "   &   _
            "data   source=srv;initial   catalog=pubs;user   id=sa;password=;   "
      cnn1.open   strcnn
      cnn1.cursorlocation   =   aduseclient
           
      '   使用单一参数打开命令对象。
      set   cmdbyroyalty   =   new   adodb.command
      cmdbyroyalty.commandtext   =   "byroyalty "
      cmdbyroyalty.commandtype   =   adcmdstoredproc
     
      '   获取参数值并追加参数。
      introyalty   =   trim(inputbox( "enter   royalty: "))
      set   prmbyroyalty   =   cmdbyroyalty.createparameter( "percentage ",   _
            adinteger,   adparaminput)
      cmdbyroyalty.parameters.append   prmbyroyalty
      prmbyroyalty.value   =   introyalty

      '   通过执行命令创建记录集。
      set   cmdbyroyalty.activeconnection   =   cnn1
      set   rstbyroyalty   =   cmdbyroyalty.EXECute
     
      '   打开   authors   表以获取作者姓名进行显示。
      set   rstauthors   =   new   adodb.recordset
      rstauthors.open   "authors ",   cnn1,   ,   ,   adcmdtable
     
      '   打印记录集中的当前数据,从   authors   表中添加作者姓名。
      debug.print   "authors   with   "   &   introyalty   &   "   percent   royalty "
      do   while   not   rstbyroyalty.eof
            strauthorid   =   rstbyroyalty!au_id
            debug.print   "       "   &   rstbyroyalty!au_id   &   ",   ";
            rstauthors.filter   =   "au_id   =   ' "   &   strauthorid   &   " ' "
            debug.print   rstauthors!au_fname   &   "   "   &   rstauthors!au_lname
            rstbyroyalty.movenext
      loop

      rstbyroyalty.close
      rstauthors.close
      cnn1.close

end   sub



快速检索

最新资讯
热门点击