1. 程式人生 > >VB6下的ado Command呼叫儲存過程,讀取返回值

VB6下的ado Command呼叫儲存過程,讀取返回值

最近在給老程式(VB6+SQL2005+水晶報表)新增備份、恢復資料庫功能。真心是手動備份資料庫太勞累抓狂,且顯得不專業,呵呵。呼叫sp_addumpdevice過程時,發生這SP有返回值,度娘了一圈,很少有提出儲存過程返回值如何在ADO Command中如何引用。

瞎寫的程式碼,總是提示:@cntrltype未宣告為OUTPUT,但形參還需要輸出,等等。

但開啟sp_addumpdevice儲存過程定義,發現@cntrltype及@devstatus可為空,不需要傳值。頭疼了10分鐘。

無意間瞎寫,則不報錯了。偷笑

正確程式碼如下:

P_cmd.CommandType = adCmdStoredProc
   P_cmd.CommandText = "sp_addumpdevice"
   
   With P_cmd
      
      .Parameters.Append .CreateParameter("@res", adInteger, adParamReturnValue, , i)
      
      .Parameters.Append .CreateParameter("@devtype", adChar, adParamInput, 20, "disk")
      .Parameters.Append .CreateParameter("@logical", adChar, adParamInput, 40, "mybakdev1")
      .Parameters.Append .CreateParameter("@physical", adChar, adParamInput, 260, Trim(txtData_Backup(0).Text))
      
      .Execute
      '<釋放參數>
      .Parameters.Delete ("@devtype")
      .Parameters.Delete ("@logical")
      .Parameters.Delete ("@physical")
      
      .Parameters.Delete ("@res")
   End With


相關推薦

VB6ado Command呼叫儲存過程讀取返回

最近在給老程式(VB6+SQL2005+水晶報表)新增備份、恢復資料庫功能。真心是手動備份資料庫太勞累,且顯得不專業,呵呵。呼叫sp_addumpdevice過程時,發生這SP有返回值,度娘了一圈,很少有提出儲存過程返回值如何在ADO Command中如何引用。 瞎寫的程式

SpringMvc呼叫儲存過程返回儲存過程返還的資料

java後端很多時候都需要和資料庫進行互動,並返回業務資料。一般情況下都會採用執行SQL的方式來進行互動,但有些特別的場景時,也可以直接利用儲存過程返回資料。儲存過程返回資料的好處是隻需要一個呼叫,即可根據不同的引數返回不同的業務資料,這些業務資料有可能列名完全不一樣。實現如

mybatis呼叫儲存過程獲取返回的遊標

將呼叫儲存過程引數放入map中,由於返回的遊標中包含很多引數,所以再寫一個resultmap與之對應,型別為hashmap。設定返回的jdbcType=CURSOR,resultMap設定為id對應的值。最後遊標中的值就輸出到list中了。程式碼如下: service層

springMVC呼叫儲存過程entity檔案寫法

<!--廣告任務申請,被稽核通過--> <select id="approveAdTask" statementType="CALLABLE" parameterType="java.util.Map"> {call approveAdTask( #{sn,mod

C# 後臺呼叫儲存過程獲取DataTable

 public System.Data.DataTable GetDataBy_storedproc2()         {             #region _adapter             var _adapter = new System.Data.Sq

java中使用mybatis呼叫儲存過程拿到返回(單引數返回

service業務層呼叫dao層 注意:返回值直接從物件裡獲取 不需要拿物件接收再獲取 dao.uspGetUser(userPO);//物件封裝了儲存過程的入參和出參 count = userPO.getCount(); //count 是儲存過程的返回值 dao層介面 pu

資料庫儲存過程事務 jfinal中呼叫儲存過程事務

mysql DELIMITER $$ CREATE PROCEDURE `student`.`ceshi`(n INT,j CHAR(1)) BEGIN IF j = 'h' THEN SELECT * FROM blog

Mybits呼叫儲存過程和函式返回遊標parameterType必須為java.util.Map由於它會把返回的遊標放在裡面

    <resultMap id="cursorMap" type="com.vcare.model.Photo">         <result column="AD_PIC_ID" property="photoId" jdbcType="INTEGER"/>        

ASP.NET MVC 學習(一) ado.net 呼叫儲存過程

ASP.NET MVC  學習(一) ado.net 呼叫儲存過程     見證我的菜鳥歷史: 想學一學儲存過程,自己寫了一下簡單的例子,發現了一些問題這裡記錄一下 以下是儲存過程: create

apache dbutils 呼叫儲存過程基於oracle資料庫

前言 Apache Commons DbUtils 1.7 版本才開始顯示支援儲存過程的呼叫,使用本篇程式碼請注意版本問題。 1.7版本更新的方法 int execute(String sql, Object… params) 執行SQL語句,包括儲存過程呼叫,

spring+ibatis+junit呼叫儲存過程事務不提交(rolled back)

在用junit進行單元測試時,呼叫sql server庫的儲存過程,會報如下問題,即事務自動回滾:10:44:56.682 [main] WARN - Unable to proxy method [public final void org.springframewor

Yii2.0呼叫sql server儲存過程並獲取返回

1、首先展示建立sql server儲存過程的語句,建立一個簡單的儲存過程,測試用。 1 SET ANSI_NULLS ON 2 GO 3 SET QUOTED_IDENTIFIER ON 4 GO 5 6 CREATE PROCEDURE [dbo].[register_info]

java呼叫儲存過程無法取得返回引數

環境:資料庫sql server2005,jdk1.6 ,myeclipse,驅動jdts1.2.2 執行以下程式碼,報錯: String querySQL = "{?=call p_sys_manager_csReport(?,?,?,?,?)}"; cstmt = con

oracle呼叫儲存過程和函式返回結果集

在程式開發中,常用到返回結果集的儲存過程,這個在MySQL和sql server 裡比較好處理,直接返回查詢結果就可以了,但在Oracle裡面 要 out 出去,就多了一個步驟,對於不熟悉的兄弟們還得出上一頭汗:),這裡我簡單介紹一下,以供參考,   1  定義包      

我查詢一個儲存過程裡面返回多個記錄集查詢一個我會查詢多個數據庫存取要怎麼寫?

  DataSet   ds   =new   DataSet();    SqlConnection   conn   =new   SqlConnection(ConnectionString);    SqlCommand   cmd   =new   SqlCommand();    cmd.Comm

Java呼叫Oracle儲存過程(無返回

無返回值: 1:建立儲存過程 此儲存過程向表中插入一條資料 create or replace procedure demo_procedure(id varchar2,name varchar2,age varchar2,sex varchar2,address va

Java執行Oracle儲存過程並接收返回

Java執行Oracle儲存過程並接收多個返回值(集合/數值) Java程式碼: package com.pure.util; import java.sql.Connection; import java.sql.DriverManager; import java.s

在java應用程式呼叫儲存函式儲存過程

建立connection連結,釋放關閉連結 package demo.untils; import java.sql.Connection; import java.sql.DriverManage

py呼叫oracle的儲存過程注意procedure的out取方式

#!/usr/bin/env python import sys import csv import cx_Oracle import codecs import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

查詢資料庫中當前使用者的所有表儲存過程檢視觸發器

user_objects是oracle字典表的試圖,他包含了通過DDL建立的所有物件。表,試圖,索引。。等 all_table,  dba_table  , user_table   同理 Select object_name From user_obj