데이터베이스 Null 값 해결: "'System.DBNull' 유형의 개체를 'System.String' 유형으로 캐스팅할 수 없습니다"에 대한 해결 방법
데이터베이스 상호 작용은 종종 'System.DBNull' 유형의 개체를 'System.String' 유형으로 캐스팅할 수 없습니다."라는 실망스러운 오류로 이어집니다. 이는 데이터베이스의 null 값을 특정 데이터 유형으로 변환하려고 시도할 때 발생합니다. 다음은 강력한 솔루션을 보여줍니다.
먼저 기본적인 접근 방식을 고려하세요.
<code class="language-csharp">public string GetCustomerNumber(Guid id) { object accountNumber = DBSqlHelperFactory.ExecuteScalar(connectionStringSplendidmyApp, CommandType.StoredProcedure, "GetCustomerNumber", new SqlParameter("@id", id)); if (accountNumber == DBNull.Value) { return string.Empty; } else { return accountNumber.ToString(); } }</code>
이 메서드는 빈 문자열을 반환하여 null을 효과적으로 처리합니다. 그러나 보다 다양하고 효율적인 솔루션은 일반 기능을 사용합니다.
<code class="language-csharp">public static T ConvertFromDBVal<T>(object obj) { if (obj == null || obj == DBNull.Value) { return default(T); } else { return (T)obj; } }</code>
이 일반 함수는 원본 코드를 다음과 같이 단순화합니다.
<code class="language-csharp">return ConvertFromDBVal<string>(accountNumber);</code>
이 우아한 솔루션은 유형 안전성을 제공하고 모든 데이터 유형에 대해 적절한 기본값을 반환하여 코드 가독성과 유지 관리성을 향상시킵니다. 이는 데이터베이스 쿼리에서 검색된 null 값을 처리하는 탁월한 방법입니다.
위 내용은 데이터베이스에서 데이터를 검색 할 때 dbnull.Value 오류를 효과적으로 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!