查询在 ASP.net 中不起作用

本文关键字:不起作用 net ASP 查询 | 更新日期: 2023-09-27 18:35:46

如果查询结果是 = 到 btn1,我试图隐藏此按钮。命令参数。

查询有效,因为我已经测试过它,但整个解决方案不起作用。

如果我更换

myCommand.ExecuteScalar().ToString() 

在查询结果的 if 语句中,该按钮处于隐藏状态。

我看了好几次,但找不到任何问题。谢谢。

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    Button btn1 = (Button)e.Item.FindControl("addFollowerButton");
    // request Query string
    var querystring = Request.QueryString["ProjectId"];
    string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    string select = "Select ProfileId from Project_Follower Where ProjectId = @ProjectId";
    using (SqlConnection myConnection = new SqlConnection(connectionString))
    {
        myConnection.Open();
        SqlCommand myCommand = new SqlCommand(select, myConnection);
        myCommand.Parameters.AddWithValue("@ProjectId", querystring);
        myCommand.ExecuteScalar();
        if (myCommand.ExecuteScalar().ToString() == btn1.CommandArgument.ToString())
        {
            Button hdn = (Button)e.Item.FindControl("addFollowerButton");
            btn1.Visible = false;
        }
    }
}

查询在 ASP.net 中不起作用

您只需执行一次.ExecuteScalar()调用!获取结果(类型 object ),然后检查以确保它没有null,如果是,请对其调用 .ToString() 并与要检查的其他字符串进行比较:

using (SqlConnection myConnection = new SqlConnection(connectionString))
{
    myConnection.Open();
    SqlCommand myCommand = new SqlCommand(select, myConnection);
    myCommand.Parameters.AddWithValue("@ProjectId", querystring);
    object result = myCommand.ExecuteScalar();
    if (result != null && result.ToString().Equals(btn1.CommandArgument.ToString()))
    {
        Button hdn = (Button)e.Item.FindControl("addFollowerButton");
        btn1.Visible = false;
    }
}