如果查询不返回任何数据
本文关键字:任何 数据 返回 查询 如果 | 更新日期: 2023-09-27 18:35:20
嗨,我正在使用下面的代码来显示按钮。
如果查询结果为"0"可见性 true WORKING
如果查询在数据库中找不到任何数据,则可见性为 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;
}
}
ExecuteScalar 将具有 NULL 值的值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;
}
拳头我
想知道null
在那里是什么意思。不应该是Null
吗?
if (myCommand.ExecuteScalar().ToString() == "Null")
或者,如果这意味着它不存在,您可以将其留空:
if (myCommand.ExecuteScalar().ToString() == "")