は、私はこのエラーを取得しています。このコードSystem.InvalidCastExceptionの:型のオブジェクトをキャストできません「System.DBNull」「可能System.String」と入力する
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 \を入力します](HTTP ://stackoverflow.com/questions/870697/unable-to-cast-object-of-type-system-dbnull-to-type-system-string) – Plutonix
私はシステムをキャストできない理由を知りたいと思うだろう文字列がnullの場合、.DBNullをSystem.Stringに設定します。文字列をnullに設定するのではなく、例外をスローするのはなぜですか? C#デザイナーは、このような状況で人々が望むと思った他の何がありましたか? –