LINQ 用空白字符串替换 DBNull

发布于 2024-08-24 20:05:54 字数 441 浏览 8 评论 0原文

在此示例中,如果 row.FirstNamerow.LastNameNULL,则会引发错误。

如何重写 Select 子句,将 DBNull 值转换为空白字符串 ""

Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
            Select row.FirstName, row.LastName

注意:由于 DataSet 是强类型的。我可以使用 row.isFirstNameNull(),但 IIF(row.isFirstNameNull(), "", row.FirstName) 将不起作用,因为所有参数都被引用。

In this example, an error is raised if either row.FirstName or row.LastName are NULL.

How do I rewrite the Select clause, to convert a DBNull value to a blank string ""?

Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
            Select row.FirstName, row.LastName

NOTE: Since the DataSet is strongly-typed. I can use row.isFirstNameNull(), but IIF(row.isFirstNameNull(), "", row.FirstName) will not work since all parameters are referenced.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

请恋爱 2024-08-31 20:05:54

在您的注释中,您提到 IIf(row.isFirstNameNull(), "", row.FirstName) 将其替换为 If(row.isFirstNameNull(), "", row.FirstName)< /code> 如果条件为 true,则不会评估 false 部分

In your note you have mentioned IIf(row.isFirstNameNull(), "", row.FirstName) replace that with If(row.isFirstNameNull(), "", row.FirstName) which will not evaluate the false part if the condition is true

忆离笙 2024-08-31 20:05:54

使用VB的三元运算符“如果”:

Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
    Select if(row.isFirstNameNull(), "", _
        row.FirstName), if(row.isLastNameNull(), "", row.LastName)

Use VB's ternary operator "if" :

Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
    Select if(row.isFirstNameNull(), "", _
        row.FirstName), if(row.isLastNameNull(), "", row.LastName)
你与清晨阳光 2024-08-31 20:05:54

row.FirstName 怎么样?字符串.Empty

what about row.FirstName ?? string.Empty

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文