.Net哪种方法最有效?

时间:2018-01-30 09:48:14

标签: .net vb.net winforms

填充表单时,从DB中捕获空字段的最有效方法是什么?

方法1尝试捕获

 Try
    txtKPIName.Text = ds.Tables(0).Rows(0)("Name")
 Catch ex As Exception
    txtKPIName.Text = ""
 End Try

方法2 isDBNull

 txtKPIName.Text = IIf(IsDBNull(ds.Tables(0).Rows(0)("Name")), "", ds.Tables(0).Rows(0)("Name"))

你们有什么想法?

2 个答案:

答案 0 :(得分:2)

DataRow(index).ToString()将返回DbNull值的空字符串 - 因此您可以使用其中一种方法

txtKPIName.Text = ds.Tables(0).Rows(0).Field(Of String)("Name")

或者

txtKPIName.Text = ds.Tables(0).Rows(0)("Name").ToString()

如果您希望将条件与if .. else一起使用 - 那么请使用DataRow.IsNull方法和If方法获取一行if语句

Dim row =  ds.Tables(0).Rows(0)
txtKPIName.Text = If(row.IsNull("Name"), "default value", row.Field(Of String)("Name"))

答案 1 :(得分:2)

看看null-Conditional Operators。它们非常优雅,可以防止ifs级联。

var stuff = ds?.Tables(0)?.Rows(0)?.("Name");