变量定义在IF...ENDIF里面,在IF后面的使用此变量的语句提示"变量未定义".
代码片段
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等语句???