2011-11-30 2 views
0

의 제품인 DataTable에 행 추가 몇 가지 SQL 조인을 사용하여 생성 된 App에 강력한 형식의 DataTable이 있습니다. 나는 이것을 사람이 읽을 수있는 방식으로 데이터를 표시하는 데 사용합니다. 여기에 그것을 만드는 SQL :SQL JOIN의

SELECT  tblEvents.EventName, vwAllMembers.LASTNAME AS LastName, vwAllMembers.FIRSTNAME AS FirstName, tblEventOccurences.EventOccurenceDate, 
        tblAttendance.AttendanceID, tblAttendanceTypes.Description AS AttendanceType, tblAttendanceTypes.Abbreviation AS AttendanceTypeAbbrv, 
        tblAttendance.EventOccurenceID, tblAttendance.StudentID, tblAttendance.AttendanceTypeID 
FROM   tblAttendance INNER JOIN 
        tblEventOccurences ON tblAttendance.EventOccurenceID = tblEventOccurences.EventOccurenceID INNER JOIN 
        tblEvents ON tblEventOccurences.EventID = tblEvents.EventID INNER JOIN 
        vwAllMembers ON vwAllMembers.Id = tblAttendance.StudentID INNER JOIN 
        tblAttendanceTypes ON tblAttendance.AttendanceTypeID = tblAttendanceTypes.AttendanceTypeID 

WHERE [email protected] 

VB에서 해당 DataTable에 새 행을 추가하려고합니다. SQL에서 DB에 직접 삽입하는 경우 EventOccurenceID, StudentID 및 AttendanceTypeID 필드를 tblAttendance 테이블에 추가하면됩니다. VB에서 그 값만 추가하려고하면 DataTable에서 EvenName 열이 null이 될 수 없다는 오류가 발생합니다. 그리고 다른 모든 열도 가정합니다. 이 같은 두 개의 테이블, 뷰 같은 아닌 실제 테이블에 가입하면

  Dim AttendanceTable As DAL.Attendance.AttendanceDataTable = AttendanceAdapter.ByEventOccurenceID(EventOccurenceID) 
      Dim NewAttendanceRecord As AttendanceRow = AttendanceTable.NewAttendanceRow() 
      NewAttendanceRecord.EventOccurenceID = EventOccurenceID 
      NewAttendanceRecord.StudentID = StudentID 
      NewAttendanceRecord.AttendanceTypeID = AttendanceTypeID 

      AttendanceTable.Rows.Add(NewAttendanceRecord) 

답변

2

:

여기 내 VB입니다. 보기에 행을 추가 할 수 없습니다.

수정할 테이블 만 반환하는 다른 어댑터를 만들고이 테이블을 사용하여 행을 추가하십시오.

관련 문제