在asp.net中使用SQLSERVER的高級用法
2024-07-10 12:57:14
供稿:網(wǎng)友
1.簡單的數(shù)據(jù)操作可以寫單條帶參數(shù)的sql語句,然后用mycm.parameters.add
( “ @ vname“,value ) 加上參數(shù) ,
也可寫成存儲過程 ,在過程中可以傳遞進入?yún)?shù)或返回參數(shù), 這樣編程更加對象化,
返回參數(shù)可以如下得到
...
vrt=mycm.parameters.add(“returnvalues“, sqldbtype.int)
vrt.direction = mycm.parameters.returnvalus
...
cm.execute nonequery()
returnvalue=mycm.parameters(“returnvalues“).value
' 如果是傳出參數(shù) 則用以下語法:
vot=mycm.parameters.add(“@ outp“,sqldbtype......)
vot.direction=mycm.parameters.output
...cm.executenonequery()
otvalue=mycm.parameters(“@outp“).value
...
-------對應(yīng)使用下面結(jié)構(gòu)的存儲過程
create procedur namep
(@v1 nvarchar(88),
@mon money
@outp nvarchar(..) output
)
as
........
return (select count(*) from ....)
--注意 : 存儲過程返回值 只能為integer 類型,每個sqlserver過程實際上都返回一個值0
2. 利用鏈接緩沖改進性能
在sqlserver連接字符串中添加緩沖選項:
connection lifetime
connection ...
...
3. 事務(wù)處理
可以三種方式 啟用事務(wù)處理:
一: 數(shù)據(jù)庫事務(wù) 指在數(shù)據(jù)庫端代碼理啟用事務(wù), 如
create produce testtrans
as
being transaction
update taba set ...
update tabb set ...
commit transaction
....
exception
rollback transaction
....
二: ado.net 事務(wù)
...
cma= new sqlcommand(““ ,con )
cmb=new sqlcommand(““,con)
con.open
objtransaction=con.begintransaction
cma.transaction =objtransaction
cmb.transaction=objtransaction
try
cma.exec....
cmb.exec.....
objtransaction.commit
catch ex as exception
objtransaction.rollback
...
finally
con.close()
....
三: asp.net頁面事務(wù)