ODBC呼叫sybase的儲存過程

2021-04-03 00:45:52 字數 1376 閱讀 3988

create procedure test

@icount  integer, 

@dtmodifytime  datetime, 

@dcquantity  decimal(20,2) output  

as  

.....

在程式中呼叫這個儲存過程,**如下

trycatch(odbcexception oe)

程式執行到cmd.executenonquery();會丟擲異常

error [hy000] [intersolv][odbc sql server driver][sql server]procedure up_shizelastbm expects parameter @icount, which was not supplied.

error [hy000] [intersolv][odbc sql server driver][sql server]procedure up_shizelastbm expects parameter @dtmodifytime, which was not supplied.

error [hy000] [intersolv][odbc sql server driver][sql server]procedure up_shizelastbm expects parameter @dcquantity, which was not supplied.

需要改為:

datetime dt = new datetime(2005,1,10);

odbccommand cmd = new odbccommand();

cmd.connection = dbconnection;

cmd.commandtext = "test ?,?,?";

cmd.commandtype = commandtype.storedprocedure;

cmd.parameters.add("@icount",odbctype.int);

cmd.parameters[0].value = 10;

cmd.parameters.add("@dtmodifytime",odbctype.datetime);

cmd.parameters[1].value = dt;

cmd.parameters.add("@dcquantity",odbctype.double);

cmd.parameters[2].direction = parameterdirection.output;

cmd.executenonquery();

double num = convert.todouble(cmd.parameters[3].value);

messagebox.show(num.tostring());

sybase事務中呼叫含有臨時表的儲存過程的問題

原來呼叫儲存過程的地方都沒有使用 事務,當然裡面包括多個表的更新操作,使用都很正常。後來我給加上了 jdbc事務,如下 引用 transactionstatus status super.begintransaction try catch exception e 加上事務之後就發現儲存過程沒有完全...

C 通過ODBC呼叫DB2儲存過程

在.net 中 用odbc呼叫db2儲存過程,不能使用這種類似oledb ado 呼叫儲存過程的常用方法 system.data.odbc.odbccommand cmd null cmd new system.data.odbc.odbccommand reportplan con cmd.com...

Sybase儲存過程的使用

儲存過程p rsgz jineng rtn向呼叫者返回一個儲存在變數 errcode裡的值,這個值被稱為狀態值,它向呼叫者反映儲存過程執行的成敗狀態 三 查到了個人 為 0135 員工的技能工資就顯示其歷史紀錄,查不到則顯示一條出錯資訊。create procedure p rsgz jineng ...

sybase分頁儲存過程的實現

sybase分頁儲存過程應該如何實現呢?這是很多人都提到的問題,下面就為您介紹 sybase 分頁儲存過程的寫法,希望可以讓您對sybase分頁儲存過程有更多的瞭解。create procedure sp php page qry varchar 16384 istart int,ilimit in...

儲存過程的呼叫

oracle儲存過程 以oracle自帶例子資料庫的表舉例 1 create or replace procedure p is cursor c is select from emp2 for update begin for v emp in c loop if v emp.sal 2000 t...