입니다 NULL 개체 있다면이 DB에 문자열을 통과 할 때마다 해당 문자열이 비어있는 경우, 다음, 나는 다음을 수행하여 NULL로 해당 개체를 설정 이 코드의 길이를 줄이고 일관성있게 만드는 함수를 작성하려고 생각했습니다..NET 할당 된 문자열의 길이가 현재 0
그러나, 나는 .NET 3.5에서이 작업을 수행하는 방법이 이미 있는지 궁금합니다.
입니다 NULL 개체 있다면이 DB에 문자열을 통과 할 때마다 해당 문자열이 비어있는 경우, 다음, 나는 다음을 수행하여 NULL로 해당 개체를 설정 이 코드의 길이를 줄이고 일관성있게 만드는 함수를 작성하려고 생각했습니다..NET 할당 된 문자열의 길이가 현재 0
그러나, 나는 .NET 3.5에서이 작업을 수행하는 방법이 이미 있는지 궁금합니다.
당신은 확장 메서드를 작성할 수 있습니다. 사실, 내가 아는 대부분의 개발자는 NULL과 빈 문자열을 구별하는 것을 선호합니다. 그것들은 .NET에서 다르므로 DB에서 다른 경우에도 훨씬 쉽고 (일관성이 있습니다).
올린 날짜 : OOps가 VB.NET 질문입니다. 죄송합니다, 내 VB.NET 조금 녹슨,하지만 당신은 VB.NET 위의 간단한 기능을 번역 할 수있을 것이라고 확신합니다.
데이터베이스에 더 많은 null을 넣지 않으면 데이터베이스 성능이 향상되고 쿼리가 더 쉬워집니다. "", 0, -1, 음의 무한대 또는 상황에 맞는 다른 값을 고수하고 응용 프로그램 코드를 변경하십시오. 데이터베이스에서 불필요한 널 (null)을 피하십시오. 단지
DescriptionTxt.Text.AsNull()
를 사용하는 코드에서 다음
public static object AsNull(this string me)
{
if (string.IsNullOrEmpty(me))
return DBNull.Value;
return me;
}
하지만 그렇지 않은 경우 기본적으로 그것을 않습니다 .NET에서 아무것도 없다 :
설명과 같은 뉴스 기사의 선택적 필드가 있습니다. 확실하게 빈 문자열 대신 빈 값을 NULL로 저장하는 것이 가장 좋습니다. 공간이 적고 관리가 더 쉽습니다 (ISNULL과 같은 시스템 기능을 사용할 수 있음). – Curt
당신은 이미 가장 간단한 코드를 가지고 있습니다. 이 작업을 단순화하는 3.5 가지 도구가 없습니다. 상세 검색은 코드와 @ Vilx- 코드 간의 병합 일 수 있습니다.
IIf(String.IsNullOrEmpty(DescriptionTxt.Text), DBNull.Value, DescriptionTxt.Text)
Thanks @ Vilx-. 결국 나는 갔다 : 문자열 반환하여 IIf으로 공공 공유 기능 NullIfEmpty (문자열로 ByVal의 값) 최종 기능 – Curt
@Curt (String.IsNullOrEmpty (값) 값, DBNull.Value, 거짓 =) - 그들이 말하는대로 - 같은 차이! :) –