Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql ASP.NET SQL查询未返回预期结果_Mysql_Asp.net_Sql Server_Vb.net_Iis - Fatal编程技术网

Mysql ASP.NET SQL查询未返回预期结果

Mysql ASP.NET SQL查询未返回预期结果,mysql,asp.net,sql-server,vb.net,iis,Mysql,Asp.net,Sql Server,Vb.net,Iis,我的以下代码有问题。我在下面创建的基本内容是,当用户登录到我的站点时,他们将点击此aspx页面,这将检查您是否属于group\u id1001。从数据库的角度来看,我确保我的测试登录用户名在我的数据库中有group\u ID1001,但返回时认为我没有group\u ID。我想可能是我的SQL查询尝试了@username到'“&username&',但仍然返回false。没有看到任何其他问题,但希望看到是否有人发现了我的错误。我的钱在某个地方的SQL查询上,但我什么也没做,因为它解决了问题 &l

我的以下代码有问题。我在下面创建的基本内容是,当用户登录到我的站点时,他们将点击此aspx页面,这将检查您是否属于
group\u id
1001。从数据库的角度来看,我确保我的测试登录用户名在我的数据库中有
group\u ID
1001,但返回时认为我没有
group\u ID
。我想可能是我的SQL查询尝试了
@username
'“&username&'
,但仍然返回false。没有看到任何其他问题,但希望看到是否有人发现了我的错误。我的钱在某个地方的SQL查询上,但我什么也没做,因为它解决了问题

<%@ import namespace="System.Data" %> 
<%@ import namespace="MySql.data.MySqlclient" %> 
<%@ import namespace="MySql.data.MySqlclient.MySqlConnection" %> 

    <Script runat="server"> 
        Sub page_load()
            Dim username As String = Convert.ToString(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\") + 1))
            Dim dbconn As MySqlConnection
            Dim mySqlCommand As MySqlCommand
            Dim counter As Integer
            Dim isInGroup As Boolean
            Dim strSQL As String = "SELECT COUNT(*) FROM tbl_staff WHERE username = @username AND group_id = 1001;"

            dbconn = New MySqlConnection("server=localhost;database=imc_directory_tool;user=Directory_Admin;port=3306;password=IMCisgreat2014;")
            dbconn.Open()

            mySqlCommand = New MySqlCommand(strSQL, dbconn)
            mySqlCommand.Parameters.AddWithValue("@username", username)
            counter = mySqlCommand.ExecuteScalar()
            If isInGroup = counter > 0 Then
                Response.Write("You are part of group_id 1001")
            Else
                Response.Write("You are not part of group_id 1001")
            End If
            dbconn.Close()
        End Sub
    </Script>  

子页_加载()
Dim username As String=Convert.ToString(User.Identity.Name.Substring(User.Identity.Name.IndexOf(“\”+1))
作为MySqlConnection的Dim dbconn
将mySqlCommand设置为mySqlCommand
作为整数的Dim计数器
Dim IsingGroup作为布尔值
Dim strSQL As String=“从tbl_staff中选择COUNT(*),其中username=@username和group_id=1001;”
dbconn=New MySqlConnection(“服务器=localhost;数据库=imc\u目录\u工具;用户=directory\u Admin;端口=3306;密码=IMCisgreat2014;”)
dbconn.Open()
mySqlCommand=新的mySqlCommand(strSQL,dbconn)
mySqlCommand.Parameters.AddWithValue(“@username”,username)
计数器=mySqlCommand.ExecuteScalar()
如果ISingGroup=计数器>0,则
回答。写下(“您是组_id 1001的一部分”)
其他的
回答。写下(“您不是组_id 1001的一部分”)
如果结束
dbconn.Close()
端接头

布尔值的默认值为false。因此,在您的声明之后:

Dim isInGroup As Boolean
IsingGroup=False

这意味着您的代码

If isInGroup = counter > 0 Then
    Response.Write("You are part of group_id 1001")
Else
    Response.Write("You are not part of group_id 1001")
End If
实际上是:

If False = (counter > 0) Then
    Response.Write("You are part of group_id 1001")
Else
    Response.Write("You are not part of group_id 1001")
End If
在数据库中找到您的用户名和组组合时

(counter > 0) = True
我不知道为什么要使用isInGroup布尔值,但是如果您需要将其用于更深入的其他代码,那么我建议您首先设置布尔值,然后在需要时测试它

isInGroup = counter > 0

If isInGroup = True Then
    Response.Write("You are part of group_id 1001")
Else
    Response.Write("You are not part of group_id 1001")
End If

在构建完成后使用strSQL,并尝试直接在DB上运行它。“我仍然在努力学习如何让它发挥作用。”丹尼利森,谢谢!在.Net框架中,已经为您做了很多关于成员资格、组和其他方面的工作,如果您还没有这样做的话,这些工作可能值得一看。任何对asp.net成员资格的搜索都会产生大量结果,asp.net官方网站有一个专门的部分: