这是一个相当简单的问题,虽然我不确定如何去做。我正在对数据库进行查询,然后将拉出的值插入到文本框中。但是查询可能返回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);
}
答案 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需要处理这个问题。