문자열에 텍스트를 할당하는 것이 어떻게 잘못된 캐스트가 될 수 있습니까?

B. 클레이 섀넌

문제의 데이터가 문자열이고 모든 코드가이를 참조하지만 "InvalidCastException"이 발생합니다.

모델은 다음과 같습니다.

public class Vendor
{
    [Required]
    public string VendorId { get; set; }
    [Required]
    public string CompanyName { get; set; }
}

다음은 쿼리입니다.

using (var cmd = conn.CreateCommand())
{
    cmd.CommandText = "SELECT contact_id as VendorID, company_name FROM t_contacts where type = 'V'";
    cmd.CommandType = CommandType.Text;
    conn.Open();
    using (OleDbDataReader oleDbD8aReader = cmd.ExecuteReader())
    {
        while (oleDbD8aReader != null && oleDbD8aReader.Read())
        {
            var vendorId = oleDbD8aReader.GetString(0);
            var companyName = oleDbD8aReader.GetString(1);
            Add(new Vendor { VendorId = vendorId, CompanyName = companyName });
        }
    }
}

MS Access 테이블에서 쿼리되는 두 열은 문자열입니다 (contact_id의 경우 Text Fieldsize 10, company_name의 경우 Text Fieldsize 50). "유형"은 텍스트 Fieldsize 1입니다.

오류 메시지는 company_name이 int라고 생각 함을 나타냅니다.

System.InvalidCastException이 사용자 코드에 의해 처리되지 않았습니다. HResult = -2147467262 Message = 지정된 캐스트가 유효하지 않습니다. Source = System.Data StackTrace : at System.Data.OleDb.ColumnBinding.ValueString () at System.Data.OleDb.OleDbDataReader.GetString (Int32 ordinal) at HandheldServer.Models.VendorRepository..ctor () in c : \ HandheldServer \ HandheldServer \ Models \ VendorRepository.cs : line 35

35 행은 다음과 같습니다.

string companyName = oleDbD8aReader.GetString(1);

company_name (Text 50)의 내용을 문자열에 할당하면 잘못된 캐스트가 발생하는 방법은 무엇입니까?

니콜라스 캐리

데이터베이스 드라이버가 무엇을 반환하는지 살펴 보셨습니까?

null분명히 C # null도 문자열도 아닌 SQL을 반환한다고 확신 합니다. GetString()스택 추적을 보면 메서드 내부에서 예외가 발생 합니다.

호출하기 전에 GetString()열이 원하는 유형 (문자열)이고 널이 아닌지 확인해야합니다. OleDbDataReader.IsDBNull()메서드는 nullity를 나타냅니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에 "확장 메서드 지원"을 추가하는 잘못된 포인터 할당 트릭이 향후 문제가 될 수 있습니까?

분류에서Dev

이 json 문자열 업데이트는 Java에서 어떻게 수행 될 수 있습니까?

분류에서Dev

이 HTML 문자열에서 텍스트 요소를 어떻게 분리 할 수 있습니까? 파이썬

분류에서Dev

캐스트를 사용하여 보호 된 구성원에 액세스하면 무엇이 잘못 될 수 있습니까?

분류에서Dev

로그 파일에서 두 문자열 사이의 텍스트를 어떻게 추출 할 수 있습니까?

분류에서Dev

이름에 잘못된 문자가있는 파일을 어떻게 삭제할 수 있습니까? (Win7)

분류에서Dev

자바 스크립트를 사용하여 텍스트 영역 값이 변경 될 때 어떻게 감지 할 수 있습니까?

분류에서Dev

문자열과 숫자가 혼합 된 바이트 스트림을 어떻게 설정할 수 있습니까?

분류에서Dev

Iterator에서 T로 캐스트하는 것이 안전한지 어떻게 확인할 수 있습니까?

분류에서Dev

데이터 세그먼트에로드 된 긴 문자열에 어떻게 액세스 할 수 있습니까?

분류에서Dev

현재 커서 위치에 변수 문자열이있는 텍스트를 삽입하는 emacs 명령을 어떻게 작성할 수 있습니까?

분류에서Dev

C #에서 잘못된 BOM이있는 텍스트 파일을 올바르게 읽을 수 있습니까?

분류에서Dev

입력이 변경 될 때 자바 스크립트 함수를 어떻게 실행할 수 있습니까?

분류에서Dev

바로 가기 텍스트가 잘리는 길이를 어떻게 조정할 수 있습니까?

분류에서Dev

텍스트 상자 값이 변경 될 때마다 값을 재설정하는 전역 변수를 어떻게 만들 수 있습니까?

분류에서Dev

Swift에서 실패한 캐스트를 어떻게 가장 잘 기록 할 수 있습니까?

분류에서Dev

파이썬에서 입력 된 텍스트를 어떻게 편집 할 수 있습니까?

분류에서Dev

Vim에서 지정된 문자 뒤에 어떻게 텍스트를 삽입 할 수 있습니까?

분류에서Dev

이 코드에서 텍스트 영역이 확장 될 때 어떻게 함수를 실행할 수 있습니까?

분류에서Dev

양식이 load () ajax 함수를 통해 제출 될 때 텍스트 상자의 텍스트를 어떻게 지울 수 있습니까?

분류에서Dev

pastebin에서 텍스트를 가져올 때이 오류를 어떻게 수정할 수 있습니까?

분류에서Dev

Linux에서 지정된 디스크가 마운트 해제 될 때 실행되는 스크립트를 어떻게 가질 수 있습니까?

분류에서Dev

문자열에서 특정 텍스트를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

트위터 부트 스트랩 모달 대화 상자가로드 될 때 본문 스크롤바 및 이동을 어떻게 방지 할 수 있습니까?

분류에서Dev

onCreated에서 데이터 컨텍스트를 어떻게 할당 할 수 있습니까?

분류에서Dev

그림자가있는 레이블 텍스트를 어떻게 만들 수 있습니까?

분류에서Dev

java + =가 잘못된 결과를 얻는 이유는 무엇이며 어떻게 방지 할 수 있습니까?

분류에서Dev

springboot JPA는 어떤 데이터베이스가 사용될 것인지 어떻게 알 수 있습니까?

분류에서Dev

Excel에서 두 열 사이에 중복 된 부분 문자열 텍스트를 어떻게 찾을 수 있습니까?

Related 관련 기사

  1. 1

    C ++에 "확장 메서드 지원"을 추가하는 잘못된 포인터 할당 트릭이 향후 문제가 될 수 있습니까?

  2. 2

    이 json 문자열 업데이트는 Java에서 어떻게 수행 될 수 있습니까?

  3. 3

    이 HTML 문자열에서 텍스트 요소를 어떻게 분리 할 수 있습니까? 파이썬

  4. 4

    캐스트를 사용하여 보호 된 구성원에 액세스하면 무엇이 잘못 될 수 있습니까?

  5. 5

    로그 파일에서 두 문자열 사이의 텍스트를 어떻게 추출 할 수 있습니까?

  6. 6

    이름에 잘못된 문자가있는 파일을 어떻게 삭제할 수 있습니까? (Win7)

  7. 7

    자바 스크립트를 사용하여 텍스트 영역 값이 변경 될 때 어떻게 감지 할 수 있습니까?

  8. 8

    문자열과 숫자가 혼합 된 바이트 스트림을 어떻게 설정할 수 있습니까?

  9. 9

    Iterator에서 T로 캐스트하는 것이 안전한지 어떻게 확인할 수 있습니까?

  10. 10

    데이터 세그먼트에로드 된 긴 문자열에 어떻게 액세스 할 수 있습니까?

  11. 11

    현재 커서 위치에 변수 문자열이있는 텍스트를 삽입하는 emacs 명령을 어떻게 작성할 수 있습니까?

  12. 12

    C #에서 잘못된 BOM이있는 텍스트 파일을 올바르게 읽을 수 있습니까?

  13. 13

    입력이 변경 될 때 자바 스크립트 함수를 어떻게 실행할 수 있습니까?

  14. 14

    바로 가기 텍스트가 잘리는 길이를 어떻게 조정할 수 있습니까?

  15. 15

    텍스트 상자 값이 변경 될 때마다 값을 재설정하는 전역 변수를 어떻게 만들 수 있습니까?

  16. 16

    Swift에서 실패한 캐스트를 어떻게 가장 잘 기록 할 수 있습니까?

  17. 17

    파이썬에서 입력 된 텍스트를 어떻게 편집 할 수 있습니까?

  18. 18

    Vim에서 지정된 문자 뒤에 어떻게 텍스트를 삽입 할 수 있습니까?

  19. 19

    이 코드에서 텍스트 영역이 확장 될 때 어떻게 함수를 실행할 수 있습니까?

  20. 20

    양식이 load () ajax 함수를 통해 제출 될 때 텍스트 상자의 텍스트를 어떻게 지울 수 있습니까?

  21. 21

    pastebin에서 텍스트를 가져올 때이 오류를 어떻게 수정할 수 있습니까?

  22. 22

    Linux에서 지정된 디스크가 마운트 해제 될 때 실행되는 스크립트를 어떻게 가질 수 있습니까?

  23. 23

    문자열에서 특정 텍스트를 어떻게 구문 분석 할 수 있습니까?

  24. 24

    트위터 부트 스트랩 모달 대화 상자가로드 될 때 본문 스크롤바 및 이동을 어떻게 방지 할 수 있습니까?

  25. 25

    onCreated에서 데이터 컨텍스트를 어떻게 할당 할 수 있습니까?

  26. 26

    그림자가있는 레이블 텍스트를 어떻게 만들 수 있습니까?

  27. 27

    java + =가 잘못된 결과를 얻는 이유는 무엇이며 어떻게 방지 할 수 있습니까?

  28. 28

    springboot JPA는 어떤 데이터베이스가 사용될 것인지 어떻게 알 수 있습니까?

  29. 29

    Excel에서 두 열 사이에 중복 된 부분 문자열 텍스트를 어떻게 찾을 수 있습니까?

뜨겁다태그

보관