2014-03-25 42 views
0

以下代碼檢索所有活動的開始和結束在挑選由用戶相同的日期,我需要檢索的日期由用戶在激活期間採摘的所有活動檢索和基於時間段顯示數據

例如

3月25日活動開始,3月25日結束,代碼將檢索,但我需要的是檢索25之前開始的活動,25之後的活動或25之前開始的活動,25之後的活動以及25之後的活動開始25

或者你可以看我的圖片我的代碼是做的但我想做A,B,C和D http://im46.gulfup.com/4Cudk8.jpg

Public Shared Function SelectByDate(ActivityDate As Date) As List(Of vActivity) 

     Dim st As Date = ActivityDate 
     Dim et As Date = st.AddDays(1).AddSeconds(-1) 

     Using ctx As New ActivitiesEntities 
      Dim Lst = (From actv In ctx.vActivities 
         Select actv 
         Where actv.StartTime >= st And actv.EndTime <= et 
         Order By actv.StartTime) 

      Return Lst.ToList 
     End Using 
    End Function 
+0

? – hometoast

回答

0
Dim LstA = (From actv In ctx.vActivities 
         Select actv 
         Where actv.StartTime >= st And actv.EndTime <= et 
         Order By actv.StartTime) 

Dim LstB = (From actv In ctx.vActivities 
         Select actv 
         Where actv.StartTime < st And actv.EndTime < st 
         Order By actv.StartTime) 

Dim LstC = (From actv In ctx.vActivities 
         Select actv 
         Where actv.StartTime > et And actv.EndTime > et 
         Order By actv.StartTime) 

Dim LstD = (From actv In ctx.vActivities 
         Select actv 
         Order By actv.StartTime) 
你只是想知道什麼記錄,其中用戶提供的日期時間是開始和結束時間之間
0
Where actv.StartTime <= usertime And actv.EndTime >= usertime 

你的問題是有點混亂,但是這似乎像你描述。

你的屏幕截圖被阻止了我的工作,但是:如果你想要A或者B或者C ..就這樣寫你的where子句。

where (actv.StartTime <= usertime And actv.EndTime >= usertime) or (something else) or (something else) 
+0

我的代碼做,但我想做A,B,C和D http://im46.gulfup.com/4Cudk8.jpg – user3460702