좋아요. LINQ to DataSets를 사용할 때 항상 부울 유형 캐스팅 문제를 해결하는 것처럼 보입니다.하지만 새로운 결과 집합이 새로운 문제를 일으키는 것처럼 보입니다. 그래서 LINQ 사용하여 개체에 부울 속성을 채우고 다음 줄을 살펴 :LINQ to DataSets를 사용할 때 부울 유형을 캐스팅 할 때 오류가 발생합니다.
.IsActive = If(fd.IsNull("IsActive"), False, fd.Field(Of Boolean)("IsActive"))
을 나는 또한 있었다 다음과 같은 몇 가지 성공 :
.IsActive = If((fd.Field(Of Integer?)("IsActive").HasValue), fd.Field(Of Integer)("IsActive"), False)
이 시간도 접근 일했다. 데이터베이스의 "IsActive"형식이 '비트'이고 데이터 집합에서 반환 된 모든 레코드의 값이 '0'또는 '1'입니다. 에 관계없이 다음과 같은 오류가 나타납니다 :
"지정된 캐스트가 유효하지 않습니다. 숫자에서 전송할 때 값은 무한대보다 작은 숫자 여야합니다."
여기 내가 잘못하고있는 것을 이해하고 싶습니다. 아무도 내가 을 주조해야한다고 설명 할 수 있습니까? 감사!
왜 데이터 테이블의 IsActive 열이 부울이 아닌가? 데이터 테이블을 어떻게 채우고 있습니까? Visual Studio에서 생성 된 형식화 된 데이터 집합은 일반적으로 데이터베이스의 비트 필드에서 부울 데이터 열을 만듭니다. –
사실 SQL Server (2008)에는 '부울'유형이 없습니다. 이 유형 값에 '비트'필드를 사용합니다. 그러나 귀하의 의견에 따라 데이터베이스가 2 차적으로 검토되었고 아래에 나와있는 솔루션이 결정되었습니다. 나는 귀하의 의견을 올렸습니다. – atconway
알아, 나는 데이터 세트를 언급하고 있었다. 그래서 그것은 여전히 저를 궁금해하게 만듭니다 ... –