Vb.net 将一行添加到SQL JOIN';s
我的应用程序中有一个强类型数据表,它是通过几个SQL连接生成的。我使用它以人类可读的方式显示数据。以下是使其成为现实的SQL: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
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)
当您像这样连接两个表时,它就像一个视图,而不是一个真正的表。不能向视图中添加行 创建另一个仅返回要修改的表的适配器,并使用该适配器添加行