检查是否为空帮助。无法解决问题

时间:2014-05-28 10:19:44

标签: sql textbox

我试图这样做,如果SQL没有找到textbox.text的值那么它什么也不返回,因为它现在返回:对象或引用错误,

任何人都可以告诉我如何做到这一点

示例:

If(textbox.text == null)
{ 

}
else
{
  Do this
}

我想要它的意思..如果SQL数据库中的textbox.text = null中的数字,它没有返回任何内容,它只是将标签更改为"不正确的值" <示例

例如:

目前:,如果我将一个无效搜索参数输入textbox.text,然后点击搜索:

它将搜索SQL数据库,(无法找到任何内容)然后抛出一个错误:对象或引用未设置为实例:

而不是发生这种情况,如果它是NULL,则SQL无法找到任何内容而不是抛出Objecty / Reference错误,我希望它不返回任何set label.text和#34; INVALID Value&#34 ; <示例

这就是我的意思:使用屏幕截图

我什么时候将无效搜索值输入textbox.text

http://prntscr.com/3ncag5

那么我正在尝试做什么,如果http://prntscr.com/3ncaau返回NOTHING = SQL没有找到要放入其中的任何信息,那么它应该不返回任何设置标签到& #34;无效的价值"

3 个答案:

答案 0 :(得分:0)

从你的问题中不完全清楚你想要什么,但你尝试过String.IsNullOrEmpty吗?

if (String.IsNullOrEmpty(textbox.text))
{ 
     return "is null or empty";
}
else 
{
     Do This
}

答案 1 :(得分:0)

这应该可以解决问题(如果我理解你的问题)

_deliveryCodeBehind.lblOrderDate.Text = collection.BookedDate == null ? "" : collection.BookedDate.ToString();

答案 2 :(得分:0)

这听起来像xy problem

我认为您要问的是如何确定您的查询返回了空值,因此在尝试使用返回的值时如何避免获取NullReferenceException。您尚未完成的工作是向我们提供您的数据访问代码,因此我不得不猜测。

当您从SQL返回时(我假设您最终处理DataTables但这也适用于DataReaders),您可以针对DBNull.Value测试任何给定值,如下所示:

foreach(DataRow row in table.Rows)
{
    object value = row["ColumnName"];
    if (value == DBNull.Value)
        // set label
        label.Text = "Invalid Value";
    else
        // set label with value
        label.Text = row["ColumnName"].ToString;
}