前置條件:
已經獲取了isession型別的物件: this._session
已經建立乙個儲存過程: proc_name,
該儲存過程有兩個引數:
para1:varchar 型別,傳入引數
para2:number型別,傳出引數
int result = 0;
idbcommand cmd = this._session.connection.createcommand();
cmd.commandtext = "proc_name";
cmd.commandtype = commandtype.storedprocedure;
this._session.transaction.enlist(cmd);
//用於事務,如果在乙個nhibernate本地事務中執行儲存過程,
//需用這個事物初始化一下idbcommand ,從而把這個idbcommand 物件加入到事務處理中
idbdataparameter parameter = cmd.createparameter();
parameter.parametername = "para1";
parameter.dbtype=dbtype.string;
parameter.value = so;
cmd.parameters.add(parameter);
idbdataparameter pararesult= cmd.createparameter();
pararesult.parametername = "para2";
pararesult.direction = parameterdirection.output;
pararesult.value = result;
cmd.parameters.add(pararesult);
cmd.executenonquery();
return result;
NHibernate執行儲存過程
既然要學習nhibernate,那知道如何執行儲存過程自然是必不可少的,網上有很多資料是用新建對映檔案的方式在nhibernate中執行儲存過程,我個人覺得這真的不太好,反覆琢磨後搞出了下面的這種方式,希望對大家有幫助。create procedure dbo proc addsysdict id ...
Nhibernate執行帶輸出引數的儲存過程
可能會有業務邏輯問題而且會帶輸出 引數,可是nhibernate好像不支援out 配置 我沒找到不知道有沒有 換了個方法來執行 user id in integer,user name in varchar2,user pwd in varchar2,msg out varchar2 factory...
vc 中,ado執行sql server儲存過程
variant t recordsaffected string szsql string p ks adduser m szname m szpasswd trycatch com error e catch com error e 必須指定執行sql語句的commandtype是adcmdsto...