将数据加载到文本框中

时间:2014-11-06 14:49:08

标签: c# sql-server winforms

这是一个相当简单的问题,虽然我不确定如何去做。我正在对数据库进行查询,然后将拉出的值插入到文本框中。但是查询可能返回null值,这是我的问题。如果查询返回null,则文本框应显示19.我不确定如何检查返回的数据以确定是否返回null以便可以将19插入到文本框中。这是我的代码(它的工作原理是将返回的值放入文本框中,缺少对null / add 19的检查)

using (test1 ds = new test1())
{
    DataTable dt = ds.dataset.Tables[0];
    List<string> coolList = new List<string>();

    foreach (DataRow row in dt.Rows)
    {
        coolList.Add(row[0].ToString());
    }

    textBox7.Text = string.Join(" ", coolList);
}

4 个答案:

答案 0 :(得分:2)

最好不要使用null。在SQL中简单写入:SELECT IsNull(YourColumn, 19) as YourColumn FROM WhatEver。比你直接在sql中解决了你的问题。

答案 1 :(得分:2)

string rowString = !String.IsNullOrEmpty(row[0].ToString()) ? row[0].ToString() : "19";
coolList.Add(rowString);

如果您使用的是.NET 4或更高版本,则可以使用String.IsNullOrWhiteSpace

答案 2 :(得分:1)

您可以使用LINQ to DataSet/DataTable,而不是创建List<string>,而不是:

textBox7.Text = string.Join(" ",
    dt.AsEnumerable()
        .Select(r => string.IsNullOrWhiteSpace(r.Field<string>(0))
            ? "19"
            : r.Field<string>(0)));

答案 3 :(得分:1)

使用ISNULL需要处理这个问题。