相关疑难解决方法(0)

Powershell和SQL参数.如果为空字符串,则传递DBNull

我有这个参数:

$objDbCmd.Parameters.Add("@telephone", [System.Data.SqlDbType]::VarChar, 18) | Out-Null;
$objDbCmd.Parameters["@telephone"].Value = $objUser.Telephone;
Run Code Online (Sandbox Code Playgroud)

字符串$objUser.Telephone可以为空.如果它是空的,我怎么能把它转换成[DBNull]::Value

我试过了:

if ([string]:IsNullOrEmpty($objUser.Telephone)) { $objUser.Telephone = [DBNull]::Value };
Run Code Online (Sandbox Code Playgroud)

但这给了我错误:

使用"0"参数调用"ExecuteNonQuery"的异常:"无法将参数值从ResultPropertyValueCollection转换为String."

如果我将它转换为字符串,它会插入一个空字符串"",而不是DBNull.

如何实现这一目标?

谢谢.

sql powershell dbnull

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

dbnull ×1

powershell ×1

sql ×1