2010-06-17 4 views
0

안녕하세요, 저는 많은 사이트를 훑어 보았고 답변을 찾지 못하는 것 같습니다.ArgumentException 처리되지 않았습니다. Application.run

C# Winforms 앱에서 tableadapter를 통해 연결된 Datagridview에 연결된보기를 수정했으며 "다시 연결"하기 위해 tableadapter를 삭제하고 다시 연결해야했습니다. 이것은 유일한 contstraints에 관한 오류를 제거하는 것이 었습니다. 그래서 나는 그 고정 이제 응용 프로그램 출시를하지만 탭을 클릭하면 그 그리드는 내가 얻을에 있는지 :

System.ArgumentException was unhandled 
    Message="Cannot bind to the property or column Id on the DataSource.\r\nParameter name: dataMember" 
    Source="System.Windows.Forms" 
    ParamName="dataMember" 
    StackTrace: 
     at System.Windows.Forms.BindToObject.CheckBinding() 
     at System.Windows.Forms.BindToObject.SetBindingManagerBase(BindingManagerBase lManager)......... 

나는이 문제에 대한 답을 찾을 수 없습니다. 누군가 나를 도울 수 있습니까?

답변

0

먼저

덕분에, 나는 당신이 아마 호출 스택을 훨씬 더 높은 던져진 의미 application.Run에서이 예외를보고있는이 게시물의 제목에서 나타났습니다. 메뉴에서 Debug-> Exceptions로 이동하여 Throw 할 때 Break on 예외로 설정할 수 있습니까? 이렇게하면 언제 이런 일이 일어나는지 정확히 파악할 수 있습니다. 바인딩 정보 설정이있는 것처럼 들리며 그리드가 바인딩하려는 속성 중 하나를 다시 작성했습니다.

+0

던져진 시점에 예외를 설정하지만 같은 위치에서 정지합니다. 이번에는 일반 처리되지 않은 예외처럼 노란색 대신 녹색입니다. 그것은 "이것은 다음 문장입니다."라고 말합니다. 왜 그 위치에서 멈추는 지 이해할 수 없기 때문에 이것은 당황 스럽습니다 ... 앱이 시작됩니다. 단절된 탭을 클릭했을 때 실행됩니다. 오류가 발생합니다. 일단 오류가 발생하면 일련의 초기화 코드를 거친 후 응용 프로그램이 충돌합니다. – user369758

+0

전체 예외를 검사하여 전체 스택 추적을 얻을 수 있다면 문제가있는 위치를 찾을 수 있습니다. 도움이 될만한 스택 추적을 게시 할 수 있다면 –

+0

나는 그것이 문제를 해결했다는 착각을했습니다. 내가 할 수있는 한 최선을 다해 달렸지만 도움이되는 것은 아무것도 보지 못했다. 다음은 예외입니다. 예외 (0) [System.Windows.Forms] System.ArgumentException : DataSource의 속성 또는 열 ID에 바인딩 할 수 없습니다. 매개 변수 이름 : System.Windows.Forms.BindToObject.CheckBinding()의 dataMember at System.Windows.Forms.BindToObject.SetBindingManagerBase (BindingManagerBase lManager) 이것은 입력 할 수있는 형식이므로 더 이상 허용하지 않습니다 .--( – user369758

0

내 솔루션이 마음에 들지 않지만 문제를 해결했습니다. 이번에 TableAdapter를 삭제하고 이름을 변경했습니다. 그런 다음 원래 이름의 모든 인스턴스 이름을 바꿨습니다 (어댑터 192 개를 삭제하고 192 개를 다시 만들었지 만 모두 192 개였습니다!) 모든 인스턴스의 이름을 변경하고 뷰 이름을 사용했기 때문에 쿼리를 수정해야했습니다. .이 기본이었다으로 TableAdapter에 이름으로 희망이 도움이 사람

0

당신은 그리드 또는 뷰 내에서 스키마를 변경하고 더 이상 당신이 얻을 존재하는 필드를 참조하는 경우 :.

System.ArgumentException을 : DataSource.Parameter 이름의 속성이나 열 ID에 바인딩 할 수 없습니다. dataMember

누락 된 열 이름이 열 이름 뒤에 나열되어 있습니다. 신분증". 나는 재산이나 칼럼 ID에 묶을 수 없다고 생각했다. 나는 그 오류를 읽었다. 동일한 문제가있는 다른 사람의 문제가 ALBUM 열에 바인딩 할 수 없습니다.

오류가 Application.Run 대신 Grid Building 코드에 가까운 곳에서 왔을 때 나는 그것을 보았을 것입니다. 어쩌면 ID 필드에 그리드/텍스트 상자를 바인딩 할 때 오류가 발생 했더라도 ID 필드를 사용하여 무언가를하려고 할 때 보았을 것입니다. Oy Vay :-)