您好我正在使用以下代码显示按钮。
如果查询结果为" 0"可见性真实工作
如果查询发现数据库中的数据可见性为false。不工作
string insertSql = "SELECT Status from User_friend WHERE (ProfileId1 =
@FriendProfileId) AND (ProfileId = (SELECT ProfileId FROM User_Profile
WHERE UserId = @UserId))";
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
myConnection.Open();
SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
myCommand.Parameters.AddWithValue("@FriendProfileId",
Request.QueryString["ProfileId"]);
myCommand.Parameters.AddWithValue("@UserId", currentUserId);
if (myCommand.ExecuteScalar().ToString() == null)
{
friendRequestSent.Visible = false;
addFriend.Visible = true;
}
else if (myCommand.ExecuteScalar().ToString() == "0")
{
friendRequestSent.Visible = true;
addFriend.Visible = false;
}
}
答案 0 :(得分:1)
对于NULL值,ExecuteScalar将具有值DBNull.Value
。您还应该考虑执行查询,将结果保存在对象变量中,然后再使用它两次。
object result = myCommand.ExecuteScalar();
if (result == DBNull.Value)
{
friendRequestSent.Visible = false;
addFriend.Visible = true;
}
else if (Convert.ToString(result) == "0")
{
friendRequestSent.Visible = true;
addFriend.Visible = false;
}
答案 1 :(得分:0)
拳头我想知道null
在那里意味着什么。不应该是Null
吗?
if (myCommand.ExecuteScalar().ToString() == "Null")
或者,如果它意味着它不存在,你可以把它留空:
if (myCommand.ExecuteScalar().ToString() == "")