Vb.net 将一行添加到SQL JOIN';s

Vb.net 将一行添加到SQL JOIN';s,vb.net,visual-studio,datatable,Vb.net,Visual Studio,Datatable,我的应用程序中有一个强类型数据表,它是通过几个SQL连接生成的。我使用它以人类可读的方式显示数据。以下是使其成为现实的SQL: SELECT tblEvents.EventName, vwAllMembers.LASTNAME AS LastName, vwAllMembers.FIRSTNAME AS FirstName, tblEventOccurences.EventOccurenceDate, tblAttendance.Attendance

我的应用程序中有一个强类型数据表,它是通过几个SQL连接生成的。我使用它以人类可读的方式显示数据。以下是使其成为现实的SQL:

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 tblAttendance.EventOccurenceID=@EventOccurenceID
我想在VB中向该数据表添加一个新行。如果我在SQL中直接插入DB,我只会将EventOccurrenceId、StudentID和AttendanceTypeID字段添加到TBlattenance表中。当我试图在VB中只添加这些值时,我从DataTable中得到一个错误,即EvenName列不能为null(并且我假设其他每一列都是null)

这是我的VB:

            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)

当您像这样连接两个表时,它就像一个视图,而不是一个真正的表。不能向视图中添加行

创建另一个仅返回要修改的表的适配器,并使用该适配器添加行