又有一个新问题,能不能帮下我呢??UserCom组件里有两个类UserDetails和UserToolsUserTools类里有个函数isLogedIn(),返回值是UserDetails我在login.aspx页面中调用时这样写Dim obj As BNSUser.UserTools = New BNSUser.UserTools()
Dim STCUserDetails1 As BNSUser.UserDetails = New BNSUser.UserDetails()STCUserDetails1 = obj.IsLoggedIn(tbUserName.Text,tbUserPwd.Text)
If STCUserDetails1.boolIsLogined Then
'此处为代码
End If错误是
未将对象引用设置到对象的实例源错误:
行 28:STCUserDetails = obj.IsLoggedIn(tbUserName.Text,tbUserPwd.Text)
行 29:If STCUserDetails.boolIsLogined Then---------------此行错误
UserDetails类我是这样定义的.Public Class UserDetails
Public strUserName As string
Public strUserPwd As string
Public LngUserID As long
Public strSeekPwdQuestion As string
Public strSeekPwdAnswer As string
Public strRealName As string
Public strEmail As string
Public strHomeAddress As string
Public strPhone As string
Public strSex As string
Public strPostalCode As string
Public dateBirthday As date
Public strCompanyName As string
Public dateLastLoginTime As date
Public boolIsLogined As boolean
Public ErrMsg As string
End Class
未将对象引用设置到对象的实例
未将对象引用设置到对象的实例
未将对象引用设置到对象的实例怎么搞啊????我对那个函数做了单独的测试,应该是没有什么问题的啊.
Dim STCUserDetails1 As BNSUser.UserDetails = New BNSUser.UserDetails()STCUserDetails1 = obj.IsLoggedIn(tbUserName.Text,tbUserPwd.Text)
If STCUserDetails1.boolIsLogined Then
'此处为代码
End If错误是
未将对象引用设置到对象的实例源错误:
行 28:STCUserDetails = obj.IsLoggedIn(tbUserName.Text,tbUserPwd.Text)
行 29:If STCUserDetails.boolIsLogined Then---------------此行错误
UserDetails类我是这样定义的.Public Class UserDetails
Public strUserName As string
Public strUserPwd As string
Public LngUserID As long
Public strSeekPwdQuestion As string
Public strSeekPwdAnswer As string
Public strRealName As string
Public strEmail As string
Public strHomeAddress As string
Public strPhone As string
Public strSex As string
Public strPostalCode As string
Public dateBirthday As date
Public strCompanyName As string
Public dateLastLoginTime As date
Public boolIsLogined As boolean
Public ErrMsg As string
End Class
未将对象引用设置到对象的实例
未将对象引用设置到对象的实例
未将对象引用设置到对象的实例怎么搞啊????我对那个函数做了单独的测试,应该是没有什么问题的啊.
what is in IsLoggedIn?
Dim objSQLConn As New SQLConnection()
Dim strSQLConn As string
strSQLConn = ConfigurationSettings.Appsettings("strSQLConn")
objSQLConn.ConnectionString = strSQLConn
Dim objSQLCmd As New SQLCommand()
objSQLCmd.Connection = objSQLConn
objSQLCmd.CommandType = CommandType.StoredProcedure
objSQLCmd.CommandText = "sp_UserLogin"
objSQLCmd.CommandTimeout = 15 Dim prmUserName As New SqlParameter("@UserName",SqlDbType.varchar,20)
prmUserName.Value=strUserName
objSQLCmd.Parameters.Add(prmUserName)
Dim prmUserPwd As New SqlParameter("@UserPwd",SqlDbType.varchar,16)
prmUserPwd.Value=strUserPwd
objSQLCmd.Parameters.Add(prmUserPwd) Dim prmIsLogined As SqlParameter = New SqlParameter("@IsLogined", SqlDbType.bit)
prmIsLogined.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmIsLogined)
Dim prmUserID As SqlParameter = New SqlParameter("@UserID",SqlDbType.bigint)
prmUserID.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmUserID)
Dim prmSeekPwdQuestion As SqlParameter = New SqlParameter("@SeekPwdQuestion",SqlDbType.nvarchar,50)
prmSeekPwdQuestion.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmSeekPwdQuestion)
Dim prmSeekPwdAnswer As SqlParameter = New SqlParameter("@SeekPwdAnswer",SqlDbType.nvarchar,20)
prmSeekPwdAnswer.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmSeekPwdAnswer)
Dim prmRealName As SqlParameter = New SqlParameter("@RealName",SqlDbType.nvarchar,20)
prmRealName.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmRealName)
Dim prmEmail As SqlParameter = New SqlParameter("@Email",SqlDbType.varchar,30)
prmEmail.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmEmail)
Dim prmHomeAddress As SqlParameter = New SqlParameter("@HomeAddress", SqlDbType.nvarchar,50)
prmHomeAddress.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmHomeAddress)
Dim prmPhone As SqlParameter = New SqlParameter("@Phone", SqlDbType.varchar,16)
prmPhone.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmPhone)
Dim prmSex As SqlParameter = New SqlParameter("@Sex", SqlDbType.nchar,2)
prmSex.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmSex)
Dim prmPostalCode As SqlParameter = New SqlParameter("@PostalCode", SqlDbType.varchar,10)
prmPostalCode.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmPostalCode)
Dim prmBirthday As SqlParameter = New SqlParameter("@Birthday", SqlDbType.datetime)
prmBirthday.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmBirthday)
Dim prmCompanyName As SqlParameter = New SqlParameter("@CompanyName", SqlDbType.nvarchar,50)
prmCompanyName.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmCompanyName)
Dim prmLastLoginTime As SqlParameter = New SqlParameter("@LastLoginTime", SqlDbType.datetime)
prmLastLoginTime.Direction = ParameterDirection.Output
objSQLCmd.Parameters.Add(prmLastLoginTime)
Try
objSQLConn.Open()
objSQLCmd.ExecuteReader()
objSQLConn.Close()
Catch e As SqlException
Dim errorMessage As String = "Message: " & e.Message & _
"Source: " & e.Source & _
"State: " & e.State & _
"Procedure: " & e.Procedure
Dim STCUserDetails As UserDetails = new UserDetails()
STCUserDetails.strUserName = CStr(objSQLCmd.Parameters("@UserName").Value)
STCUserDetails.strUserPwd = CStr(objSQLCmd.Parameters("@UserPwd").Value)
STCUserDetails.boolIsLogined = CBool(objSQLCmd.Parameters("@IsLogined").Value)
STCUserDetails.LngUserID = CLng(objSQLCmd.Parameters("@UserID").Value)
STCUserDetails.strSeekPwdQuestion = CStr(objSQLCmd.Parameters("@SeekPwdQuestion").Value)
STCUserDetails.strSeekPwdAnswer = CStr(objSQLCmd.Parameters("@SeekPwdAnswer").Value)
STCUserDetails.strRealName = CStr(objSQLCmd.Parameters("@RealName").Value)
STCUserDetails.strEmail = CStr(objSQLCmd.Parameters("@Email").Value)
STCUserDetails.strHomeAddress = CStr(objSQLCmd.Parameters("@HomeAddress").Value)
STCUserDetails.strPhone = CStr(objSQLCmd.Parameters("@Phone").Value)
STCUserDetails.strSex = CStr(objSQLCmd.Parameters("@Sex").Value)
STCUserDetails.strPostalCode = CStr(objSQLCmd.Parameters("@PostalCode").Value)
STCUserDetails.dateBirthday = CDate(objSQLCmd.Parameters("@Birthday").Value)
STCUserDetails.strCompanyName = CStr(objSQLCmd.Parameters("@CompanyName").Value)
STCUserDetails.dateLastLoginTime = CDate(objSQLCmd.Parameters("@LastLoginTime").Value)
STCUserDetails.errMsg = errorMessage
Return STCUserDetails
Finally
End Try
End Function
这是那个函数的代码.
用调试看一下STCUserDetails是否为null?
我测试了存储过程,测试了连接数据库,都是正常的.没有问题,我想问题可能是出在向STCUserDetails传值的过程中.就是不知道是哪里出错了.唉.
Improts System.WebSession("strUserName") = objSQLCmd.Parameters("@UserName").Value
Session("strUserPwd") = objSQLCmd.Parameters("@UserPwd").Value
Session("boolIsLogined") = objSQLCmd.Parameters("@IsLogined").Value我也添加了Improts System.Web但是编译的时候说session未定义.这怎么回事??
源错误: 行 29: strUserName = tbUserName.Text
行 30: strUserPwd = tbUserPwd.Text
行 31: STCUserDetails = objUserTools.IsLoggedIn(strUserName,strUserPwd)
上面两位高手.你们的判断很正确啊.可是我不知道为什么,能指点一下吗???
STCUserDetails照上面的错误,是不是就是null啊.
大家快来救下我吧,我被这个问题搞了3天了啊.