变量定义在IF...ENDIF里面,在IF后面的使用此变量的语句提示"变量未定义".

csuker 2008-12-11 10:51:25
代码片段

If Pwa.Length = 4 And IsNumeric(Pwa) Then
Dim SqlRead As SqlDataReader
Dim Sqlstr As String
Dim Sqlcmd As New SqlCommand
Dim Sqlconstr As String = "Data Source=CNC-ZC\sql2k;Initial talog=ydgs;Integrated Security=True"
Dim Sqlcnn As New SqlConnection(Sqlconstr)
Sqlstr = "select id,uname,psb,ISNULL(nhm,0)-ISNULL(donehm,0),ISNULL(nop,0)-ISNULL(doneop,0) from u where psa='" & Pwa & "'"
Sqlcnn.Open()
Sqlcmd.Connection = Sqlcnn
Sqlcmd.CommandText = Sqlstr
SqlRead = Sqlcmd.ExecuteReader
If SqlRead.HasRows = True Then
SqlRead.Read()
Pwb = SqlRead(2)
'Response.Write("通过")
Else
Response.Write("Start#N验证未通过!!End")
Exit Sub
End If
Else
Response.Write("Start#N验证未通过!!此用户不存在!!End")
Exit Sub
End If
Userid = SqlRead(0)
UserName = Trim(SqlRead(1))
Lishm = SqlRead(3)
Lisop = SqlRead(4)
SqlRead.Close()

以上一段代码提示SQLREAD未定义,如果把Dim SqlRead As SqlDataReader这一句放在IF外面就可以成功,其实通过IF语句能看出来在IF里如果不经过Dim SqlRead As SqlDataReader这段代码程序是跑不到下面的.谁能告诉我为什么报错.难道注册SQLREAD不能跨IF等语句???
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2008-12-11
  • 打赏
  • 举报
回复
变量作用域问题
wuyq11 2008-12-11
  • 打赏
  • 举报
回复
if里是局部变量只能在if里使用
wanghao3616 2008-12-11
  • 打赏
  • 举报
回复
定义放在 if 外面
csuker 2008-12-11
  • 打赏
  • 举报
回复
还是头回听说IF里面的是局部变量.以前VB6也是一样吗?
criedshy 2008-12-11
  • 打赏
  • 举报
回复
SqlRead 变量要放在if外面来定义

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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