【问题标题】:Replacing nulls with strings in a webgrid用 webgrid 中的字符串替换空值
【发布时间】:2016-04-14 05:48:47
【问题描述】:
我正在使用 webmatrix,我想在我的变量“grid”中存储一个 webgrid,但是我希望我创建它的表中的一列中的所有空值都被字符串替换:“aString ”。
我使用以下代码从我的数据库表中加载我的网格变量。
@{
var db = Database.Open("databaseName");
var selectedData = db.Query("SELECT * FROM TableName");
var grid = new WebGrid(source: selectedData, rowsPerPage: 500);
}
有什么简单的方法吗?
【问题讨论】:
标签:
null
webmatrix
webgrid
【解决方案1】:
有几种方法可以解决这个问题。一种方法是更改 SQL 以便不返回 null。例如,您可以输入:
var selectedData = db.Query("SELECT *, coalesce(OriginalField, 'aString') AS improvedField FROM TableName");
coalesce() 函数将空值替换为您想要的字符串。 “AS”表示结果应别名为名为“improved field”的字段。
我在上面的代码的一个缺点是,由于其中包含 *,因此您将获得带有空值的原始字段和不带空值的改进字段。您可以将 * 替换为您想要的所有字段的列表。
另一种方法不是更改 SQL,而是在您使用它时更改输出。这取决于你用它做什么,所以我不会在这里展示一个例子。