如何检查该值是否为空,如果不是,则应在ASP.NET的文本框中显示该值
这是我的密码如何检查该值是否为空,如果不是,则应在ASP.NET的文本框中显示该值,asp.net,sql-server-2008,Asp.net,Sql Server 2008,这是我的密码 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 SqlCo
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";
}
}
如果查询returs为Null,则文本框应返回未找到的记录,否则应在文本框中显示查询生成的名称。请帮助。您可能在这一行中遇到了错误
string value = cmd.ExecuteScalar().ToString();
因为它试图将空值转换为字符串。最好使用Convert.ToStringcmd.ExecuteScalar来处理这种情况
if/else块正常SQL的null映射到C的DBNull。值:
替代品
string value = cmd.ExecuteScalar().ToString();
与
试试这个:
string value = "";
if ( (value = cmd.ExecuteScalar().ToString())!= null)
{
nametext.Text=value.ToString();
}
你发布的代码是否正常工作?您还希望从中得到什么?如果没有从查询中提取行,则会出现错误。错误是什么?在哪一行显示错误?字符串值=cmd.ExecuteScalar.ToString;错误行---对象引用未设置为对象的实例。这仍然会引发异常,当cmd.ExecuteScalar为nullNitn时,我已经测试过,它不会引发任何异常,请尝试实现它,然后才能声明当cmd.ExecuteScalar为Null时会发生什么。我使用此技术,因为几年来,我使用了try-catch块,但正如我看到你的评论,我认为我应该在不使用try-catch的情况下测试它,所以我做了,它也没有例外,它只会移动nextYep,实际上超出calar return int value,请编辑答案,这样我就可以恢复向下投票:
object value = cmd.ExecuteScalar();
string value = "";
if ( (value = cmd.ExecuteScalar().ToString())!= null)
{
nametext.Text=value.ToString();
}