在asp.net中使用SQLSERVER的高级用法
2024-07-10 12:57:14
供稿:网友
1.简单的数据操作可以写单条带参数的sql语句,然后用mycm.parameters.add
( “ @ vname“,value ) 加上参数 ,
也可写成存储过程 ,在过程中可以传递进入参数或返回参数, 这样编程更加对象化,
返回参数可以如下得到
...
vrt=mycm.parameters.add(“returnvalues“, sqldbtype.int)
vrt.direction = mycm.parameters.returnvalus
...
cm.execute nonequery()
returnvalue=mycm.parameters(“returnvalues“).value
' 如果是传出参数 则用以下语法:
vot=mycm.parameters.add(“@ outp“,sqldbtype......)
vot.direction=mycm.parameters.output
...cm.executenonequery()
otvalue=mycm.parameters(“@outp“).value
...
-------对应使用下面结构的存储过程
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. 事务处理
可以三种方式 启用事务处理:
一: 数据库事务 指在数据库端代码理启用事务, 如
create produce testtrans
as
being transaction
update taba set ...
update tabb set ...
commit transaction
....
exception
rollback transaction
....
二: ado.net 事务
...
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页面事务