Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查该值是否为空,如果不是,则应在ASP.NET的文本框中显示该值_Asp.net_Sql Server 2008 - Fatal编程技术网

如何检查该值是否为空,如果不是,则应在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();
}