参数AddWithValue中的IsDBNull

时间:2014-02-07 12:39:40

标签: sql vb.net isnull

目标:我想检查值是否为Null,然后添加空白,否则添加数据

问题:我不确定在将第一个逗号更改为Null""之后需要放置什么,以及它是否实际上有数据要导入而不是

    With commandSQL
    .Connection = connection
    .CommandText = "spAddCSVDataLine"  'Stored procedure here
    .CommandType = CommandType.StoredProcedure
    .Parameters.AddWithValue("Name", (IsDBNull(ds.Tables("dataExcel").Rows(j)("Name"))),"",Trim(ds.Tables("dataExcel").Rows(j)("Name"))))

我可以执行以下操作,但如果可能的话,我想将代码收紧到一行:

If IsDBNull(ds.Tables("dataExcel").Rows(j)("Name")) Then
.Parameters.AddWithValue("Name", "")
Else
.Parameters.AddWithValue("Name", Trim(ds.Tables("dataExcel").Rows(j)("Name")))
End If

2 个答案:

答案 0 :(得分:3)

Dim row = ds.Tables("dataExcel").Rows(j)

.Parameters.AddWithValue("@Name", If(row.IsNull("Name"), String.Empty, CStr(row("Name"))))

答案 1 :(得分:3)

我认为您正在寻找If运营商:

With commandSQL
    .Connection = connection
    .CommandText = "spAddCSVDataLine"  'Stored procedure here
    .CommandType = CommandType.StoredProcedure
    .Parameters.AddWithValue("Name", If(IsDBNull(ds.Tables("dataExcel").Rows(j)("Name")), "", Trim(ds.Tables("dataExcel").Rows(j)("Name"))))
End With