1:直接有返回值的儲存過程:
public string getprojectcode()
或者直接以sql的形式呼叫:
public string getprojectcode()
/// /// 呼叫無引數的儲存過程,直接呼叫儲存過程的返回值
///
///
public static datatable pro_categorys_products()
2:呼叫sqlfunction函式返回值:
public string gettasknumber()
;sp[0].direction = parameterdirection.returnvalue;
sqlhelper.executenonquery(sqlhelper.itodbconnectionstr, commandtype.storedprocedure, strfunction, sp);
return sp[0].value.tostring();
}3:呼叫無返回值的儲存過程:
//這種呼叫方式,引數不需要顯示設定與儲存過程中的輸出引數長度一致
public static datatable pro_categorys_productsbycount(int beginnumber,int endnumber)
;sp[0].value = beginnumber;
sp[1].value = endnumber;
datatable dt = sqlhelper.executedataset(sqlhelper.connectionstring, commandtype.storedprocedure, proceducename, sp).tables[0];
return dt;
}
4:呼叫返回結果集與返回值的儲存過程
儲存過程:
alter proc test123
( @tname varchar(20))as
begin
declare @returncount int,@strsql varchar(300)
select @returncount = count(*) from test
select @strsql = 'select * from test where tname = '''+@tname+''' '
print @strsql
exec(@strsql)
return @returncount
endgo
應用程式:
public static datatable protest( out int returnvalue)
;sp[0].value = "a";
sp[1].direction = parameterdirection.returnvalue;
datatable dt = sqlhelper.executedataset(sqlhelper.dbconnectstring, commandtype.storedprocedure, procedurename, sp).tables[0];
//當儲存過程執行完畢後,返回儲存過程的返回結果
returnvalue = convert.toint32(sp[1].value);
return dt;
}
呼叫端:
int a;
datatable dt = protest(out a);
int b = a;
ADO呼叫儲存過程
usingsystem usingsystem.collections.generic usingsystem.componentmodel usingsystem.data usingsystem.drawing usingsystem.linq usingsystem.text usingsys...
ADO呼叫分頁查詢儲存過程
一 分頁儲存過程 使用儲存過程編寫乙個分頁查詢 set nocount off 關閉sqlserver訊息 set nocount on 開啟sqlserver訊息 gocreate proc usp getmystudentsdatabypage 輸入引數 pagesize int 7,每頁記錄條...
ADO1 5中呼叫儲存過程
每次寫用ado訪問資料庫的程式,都會把早年我兄弟zhang寫的 拿出來抄一抄,這一次比較特別的是需要呼叫stored procedure.我痛恨stored procedure,因為他讓邏輯分散了,更加難以維護.由於各種原因,比如已有 量巨大,比如合作方公司要求使用stored procedure作...