这是我的代码
SqlConnection con = new SqlConnection(cs);
con.Open();
string query = "select Name from t_identities where Branchid = '" + branchidtext.Text + "' and Accountid = '" + accountidtext.Text + "'";
SqlCommand cmd = new SqlCommand(query, con);
string value = cmd.ExecuteScalar().ToString();
if (value != null)
{
nametext.Text = value.ToString();
}
else
{
nametext.Text = "No records Found";
}
}
如果查询返回Null,则文本框应该返回No records found,否则它应该在文本框中显示查询生成的名称。请帮忙。
答案 0 :(得分:0)
可能你在这一行中遇到错误
string value = cmd.ExecuteScalar().ToString();
尝试将空值转换为字符串。最好使用Convert.ToString(cmd.ExecuteScalar())
来处理这种情况。
您的if / else块是否正常
答案 1 :(得分:0)
SQL的null
映射到C#的DBNull.Value
:
var value = cmd.ExecuteScalar();
if (value != DBNull.Value)
{
nametext.Text = (string)value;
}
答案 2 :(得分:0)
替代
string value = cmd.ExecuteScalar().ToString();
与
object value = cmd.ExecuteScalar();
答案 3 :(得分:-1)
试试这个:
string value = "";
if ( (value = cmd.ExecuteScalar().ToString())!= null)
{
nametext.Text=value.ToString();
}