asp引用参数的疑惑(ByRef)

sdts 2006-02-15 10:54:16
<%
Sub Tran(ByRef sql)
'将sql语句定义为事务
sql="set xact_abort on"& _
" begin tran"& _
" "&sql& _
" commit tran"& _
" set xact_abort off"
END Sub
Dim sql
sql="select * from a"
Response.Write sql
Response.Write "<br><br>"
Tran(sql)
Response.Write sql
%>

这段代码先后两个sql输出的是一样的,可是有声明Dim sql 又是ByRef调用,Tran(ByRef sql)后sql的值应该改变才对?帮忙解释一下 谢谢!
...全文
78 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
是是非非 2006-02-15
  • 打赏
  • 举报
回复
<%
Sub Tran(ByRef sql)
'将sql语句定义为事务
sql="set xact_abort on" & _
" begin tran" & _
" " & sql & _
" commit tran " & _
" set xact_abort off"
END Sub
Dim sql
sql="select * from a"
Response.Write sql
Response.Write "<br><br>"
Tran sql
Response.Write sql
%>

把调用 Tran 过程的括号去掉就可以了
HITS 2006-02-15
  • 打赏
  • 举报
回复
ByVal是传递值 源数据不会被修改
你可以把这个值当作自己的局部变量来使用

ByRef是传递地址 , 源数据可能被修改
你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉

具体事例找一下星魂的帖子
尚和空四 2006-02-15
  • 打赏
  • 举报
回复
sf

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧