1. 建立乙個簡單表及儲存過程
create table sp_table
( username varchar(
30),
age
int)
create procedure test_sp
@username varchar(
30),
@age
int,
@out
intoutput
asinsert into sp_table values(@username,@age);
select @out
=count(username) from sp_table
declare @a
intexec test_sp
'oliver',
21,@a output;
print @a
2. 建立乙個ccommandrs; 其中第三個引數必須是cmultipleresults,預設為cnomultipleresults3. 建立儲存過程模版
ccommand
<
cdynamicparameteraccessor,crowset,cmultipleresults
>
rs;
hresult hr
=rs.create(dbconn
->
m_session,
"exec dbo.querystock ?,?,?");
4. 設定引數
hr =
rs.prepare();
void
*pdummy;
hr =
rs.bindparameters(
&rs.m_hparameteraccessor,rs.m_spcommand,
&pdummy);
char
*nparamvalue1 ="
lei"
;rs.setparam(nparamvalue1);
intnparamvalue2 =22
;rs.setparam((ulong)2,
&nparamvalue2);
5. 呼叫儲存過程
if(rs.open(null,null,0)
!=s_ok)
...
6. 過濾掉無用的返回結果,找到自己合適的結果集
long
*plrowsaffected
=null;
while
(rs.getnextresult(plrowsaffected)
==s_ok)
...}}
多結果集的訪問
using sqlconnection conn new sqlconnection connectstring string cmdtext select top 10 from customers select lastname,firstname from employees sqlcomma...
關於多結果集的儲存過程的處理
對於乙個存諸過程,如果返回的結果是我們預先知道的,那麼可以根據儲存過程定義的順序來進行 處理 事實上一般不會這樣 但對於複雜的多結果集的處理,如何定義乙個通用的流程?我們先看一下jdbc本身能為我們提供什麼?乙個儲存過程執行後返回的是boolean型 boolean flag callablesta...
關於多結果集的儲存過程的處理
對於乙個存諸過程,如果返回的結果是我們預先知道的,那麼可以根據儲存過程定義的順序來進行 處理 事實上一般不會這樣 但對於複雜的多結果集的處理,如何定義乙個通用的流程?我們先看一下jdbc本身能為我們提供什麼?乙個儲存過程執行後返回的是boolean型 booleanflag callablestat...