我正在檢查每個事件中DateTime重疊的Events
表。我已經編寫了允許用戶輸入Module_code
的代碼。將Module_code
與Events
表中的條目進行檢查。如果任何事件的Start_Date_Time
或End_Date_Time
與表中任何其他事件的Start_Date_Time
或End_Date_Time
重疊,那麼我只想將該事件行放入數組列表中,然後使用結果填充gridview。我有以下代碼,我認爲這些代碼實現了我的大部分目標。但是,當我運行它時,gridview中沒有數據。調試顯示沒有發送任何內容。我認爲這是一個問題,我想如何將我的值傳遞給arrayList。使用整個數據庫錶行從For循環填充數組列表
'return all relevant tables from the Modules database, based on the module code entered by the user.
Dim eventTime = (From mods In db.Modules
Join evnt In db.Events On mods.Module_code Equals evnt.Module_code
Join rm In db.Rooms On rm.Room_ID Equals evnt.Room_ID
Join build In db.Buildings On build.Building_code Equals rm.Building_code
Where ((mods.Module_code = initialModCode) And (evnt.Room_ID = rm.Room_ID))
Select evnt.Event_ID, evnt.Module_code, evnt.Event_type, evnt.Start_Date_Time, evnt.End_Date_Time, build.Building_code, rm.Room_Number)
Dim listClashes As New ArrayList()
For i As Integer = 0 To eventTime.Count - 1
For j As Integer = i + 1 To eventTime.Count - 1
If (eventTime.ToList(i).Start_Date_Time < eventTime.ToList(j).End_Date_Time) And (eventTime.ToList(i).End_Date_Time > eventTime.ToList(j).Start_Date_Time) Then
'MsgBox("Clash", MsgBoxStyle.MsgBoxSetForeground, "")
listClashes.Add(eventTime)
Else
'MsgBox("No Clash", MsgBoxStyle.MsgBoxSetForeground, "")
End If
Next
Next
gdvClashes.DataSource = listClashes
gdvClashes.DataBind()
EDIT..Code改爲
If (eventTime(i).Start_Date_Time <= eventTime(j).End_Date_Time) And (eventTime(i).End_Date_Time >= eventTime(j).Start_Date_Time) Then
'MsgBox("Clash", MsgBoxStyle.MsgBoxSetForeground, "")
listClashes.Add(eventTime.ToList)
Else
此編輯沒有奏效。這是拋出一個例外說,The query operator 'ElementAtOrDefault' is not supported.
我在這裏完全錯誤的方向嗎?
編輯..
新代碼的建議
Dim listClashes = From e1 In eventTime
From e2 In eventTime
Where (e2.Start_Date_Time >= e1.Start_Date_Time) And (e2.Start_Date_Time <= e1.End_Date_Time)
Select eventTime
gdvClashes.DataSource = listClashes
gdvClashes.DataBind()
如果有這樣的一個封閉的for循環或引用的ArrayList什麼?
hi @GertArnold。是的,問題依然存在。我可能會做與我應該在這裏完全相反的事情。我是一個新手,所以我在盡力而爲地研究MSDN和一些書籍的同時努力工作,並且希望得到方法,但是我無法理解我在這裏要做的事情。很難得到像ArrayList,ToList等的確切功能的簡單答案 – Gavin 2013-04-28 20:10:54