「オブジェクトを DBNull から他の型に変換できません」エラーを修正
このエラーは通常、DBNull 値を別のデータ型に変換しようとしたときに発生します。特定のケースでは、Create() メソッドの次のコード行で問題が発生する可能性があります:
<code>DataTO.Id = Convert.ToInt64(dataAccCom.GetParameterValue(IDbCmd, "op_Id"));</code>
出力パラメータ「op_Id」が DBNull 値を返す場合、この変換は失敗します。この問題を解決するには、DBNull 値を確認し、適切に処理する必要があります。以下は修正コードのバージョンです:
<code>var outputParam = dataAccCom.GetParameterValue(IDbCmd, "op_Id"); if (outputParam is DBNull) DataTO.Id = 0; // 或根据需要分配默认值 else DataTO.Id = Convert.ToInt64(outputParam);</code>
このチェックを追加すると、出力パラメータに有効な値が含まれている場合にのみ変換が実行されるようになります。これにより、「オブジェクトを DBNull から別の型に変換できません」エラーが解消されるはずです。
このエラーは、他のパラメータが DBNull に設定されており、そのパラメータに対してキャストが試行された場合にも発生する可能性があることに注意してください。コードを注意深く確認して、この問題の潜在的なインスタンスを特定してください。
以上がC# で「オブジェクトを DBNull から他の型にキャストできません」エラーを解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。