ADO呼叫儲存過程例項講解

2021-06-09 12:35:57 字數 1851 閱讀 3829

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作...