【发布时间】:2016-08-30 22:42:22
【问题描述】:
我有这个代码
SqlCommand objcmd1 = new SqlCommand("select r.login_Id from XYZ where a.logonid = @uId", myADONETConnection);
objcmd1.Parameters.Add("@uId", SqlDbType.VarChar).Value = dr[0].ToString();
returnUserId = (string)objcmd1.ExecuteScalar();
if (returnUserId != null)
{
adid = returnUserId.ToString();
}
else
{
adid = "";
}
我收到此错误。我知道我将 NULL 值作为返回值。我需要如何解决此问题?有人可以帮帮我吗?
System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.InvalidCastException:无法将“System.DBNull”类型的对象转换为“System.String”类型。
在 ST_a9849ab5e79d483093f9802cd30cb2e7.csproj.ScriptMain.Main()
【问题讨论】:
-
鉴于字符串可以为空,我很想知道为什么它不能将 System.DBNull 转换为 System.String。为什么它会抛出异常而不是将字符串设置为null? C# 设计者认为人们在这种情况下还想做什么?
标签: c# asp.net-mvc c#-4.0 ssis