C 學習 執行儲存過程

2022-05-10 20:21:49 字數 1498 閱讀 1642

使用儲存的優點

1.執行更快。直接寫sql指令碼會有個解析編譯的過程。

2.修改方便。當業務改變時,只需要改儲存過程,不需要修改c#**

3.傳遞sql指令碼資料相對更小

缺點:1.使用儲存過程,資料庫移植性差

2.把業務放到了儲存過程裡,相當於把處理業務的壓力放到了資料庫裡面。

儲存過程的指令碼:

--

分頁原理:越過多少條,取多少條

--建立乙個儲存過程

create

proc

p_loadpagedata

--引數

@pageindex

int,

@pagesize

int,

@total

intout

asselect

top(@pagesize) *

from qunlist where id notin(

select

top((@pageindex

-1)*

@pagesize) id from qunlist order

byid

)order

byid

select

@total

=count('

a') from

qunlist

select

@total

--執行儲存過程

declare

@total

intexec p_loadpagedata 2,5,@total

outselect

@total

c#中**

//

如果用了輸出引數,那麼就用sqldataadapter就可以了,用sqldatareader會拿不到輸出引數

string connstr = configurationmanager.connectionstrings["

connstr

"].connectionstring;

//建立乙個dateset,用來儲存查詢出的資料

//可以把dataset比作資料庫;把dataset.table比作資料庫中的表

dataset ds=new

dataset();

//設定輸出引數

sqlparameter totalparameter=new sqlparameter("

@total

",sqldbtype.int);

totalparameter.direction =parameterdirection.output;

using (sqlconnection conn = new

sqlconnection(connstr))}//

取得輸出引數的值

int total = (int

) totalparameter.value;

var table = ds.tables[0];

C 執行儲存過程

1 建立儲存過程 其中返回乙個值,統計表中符合條件資料數量 create procedure sp test name varchar 10 查詢條件 count int output 返回值 asbegin select count count from test where name name ...

C 執行儲存過程

閒話不多說,直接上 sql通用類 public class sqlhelper sqldataadapter sda new sqldataadapter sqlcmd sda.fill responseds catch exception e n 異常原因 n 異常詳細資訊 return resp...

C 如何執行儲存過程

以oracle為例,其它資料庫僅改變資料庫物件就可以。下面是帶引數的,不帶引數的話paramete為null即可。引數對應 public static int uploadstartclosesoftinfo string args return sdprovider.runprocedure 儲存...