我有一个用asp.net构建的网站。我试图根据他们的电脑用户名加入用户名检查。我明白了
对象引用未设置为对象的实例。
当不在我的SQL Server数据库中的新用户尝试访问该站点时。我想添加一个“if”语句,将它们重定向到我的错误页面。
我在if语句中添加了什么来捕获该错误而不是获取错误页面。
这是我的代码的一部分,因此您可以知道我正在使用的名称
Dim sqlConnection1 As New SqlConnection("randomserverstuff")
Dim cmd As New SqlCommand
Dim returnValue As Object
cmd.CommandText = "SELECT RESTRICTED FROM USERS WHERE Username='" & Replace(Page.User.Identity.Name, "domain\", "") & "'"
cmd.CommandType = CommandType.Text
cmd.Connection = sqlConnection1
sqlConnection1.Open()
returnValue = cmd.ExecuteScalar()
sqlConnection1.Close()
If Session(returnValue)!= Null) Or returnValue.ToString = "Y" Then
最后一行,is语句的第一部分是我正在尝试构建的内容,并且似乎无法捕获其中的错误。有什么想法吗?
答案 0 :(得分:0)
所以没有运气之后,我决定在运行我的语句之前检查行数,如果rows = 0则返回y,如果行数大则运行单独的sql语句来确定受限列的结果。
答案 1 :(得分:0)
这是错误的:
If Session(returnValue)!= Null)
真的,这是vb还是c# - 都不是!
考虑到returnValue
可以是Nothing
,正确的方法是:
If returnValue IsNot Nothing AndAlso Session(returnValue) IsNot Nothing Then
将returnValue
声明为String
,VB会隐式转换它。