我正在使用webmatrix,我想在我的变量" grid"中存储一个webgrid,但是我希望我创建它的表中的一列中的所有空值都被替换为字符串:" aString"。 我使用以下代码从数据库表中加载网格变量。
@{
var db = Database.Open("databaseName");
var selectedData = db.Query("SELECT * FROM TableName");
var grid = new WebGrid(source: selectedData, rowsPerPage: 500);
}
有没有简单的方法呢?
答案 0 :(得分:0)
有几种方法可以解决这个问题。一种方法是更改SQL,以便不返回null。例如,你可以把:
var selectedData = db.Query("SELECT *, coalesce(OriginalField, 'aString') AS improvedField FROM TableName");
coalesce()函数用您想要的字符串替换空值。 “AS”表示结果应该别名为名为“改进字段”的字段。
我在上面提到的代码的一个缺点是,因为它中包含*,你将得到带有空值的原始字段和没有空值的改进字段。您可以将*替换为您想要的所有字段的列表。
另一种方法不是更改SQL,而是在使用它时更改输出。这取决于你正在做什么,所以我不会在这里展示一个例子。