这段代码不登陆时 连接数据库没问题,但Session变量有值后就出错?
这段代码不登陆时 连接数据库没问题,但两个Session变量有值后,即当用户登陆
就出错,请帮忙看一下:
<script language= "vb " runat= "server ">
Sub page_load(sender as Object,e as EventArgs)
dim Identify as Integer = Session( "Identify ") ' 权限身份
dim id as String = Session( "id ") '登陆者身份ID
Dim conn as New OleDbConnection()
Dim cmd as New OleDbCommand()
dim SqlStr as String
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath( "data/qrms.mdb ")
conn.open()
cmd.Connection = conn
Select case identify
case 1 '如果选择的是管理员
SqlStr = "select aid from admin where aid= ' " & id & " ' "
case 2 '如果选择的是教师
SqlStr = "select tid from teacher where tid= ' " & id & " ' "
case else '如果选择的是学生
SqlStr = "select xuehao from student where xuehao= ' " & id & " ' "
end Select
'response.Write(sqlstr)
'exit sub
'sqlstr = "select xuehao from student where xuehao= '2004415515 ' "
cmd = New OleDbCommand(SqlStr,conn)
Dim ObjReader As OleDbDataReader = Cmd.ExecuteReader()
If ObjReader.Read() Then
Select case Identify
case 1
response.Redirect( "admin/default.aspx ")
case 2
response.Redirect( "./Teacher_main.aspx ")
case else
response.Redirect( "./Student_main.aspx ")
end Select
Else
response.Redirect( "./error.aspx?error=inValid ")
end if
end Sub
</script>
[解决办法]
你的ID变量在数据库里是字符串还是数字型的?如果是数字,那你那条SQL语句就有问题了吧?