2013-07-12 152 views
0
DataTable dt = try.Query(" select Rooms.RoomId, Rooms.RoomType From Rooms INNER JOIN Reservations ON (Rooms.RoomId = Reservations.RoomId) AND GETDATE() BETWEEN Reservations.CheckInDate AND Reservations.CheckOutDate ORDER BY Rooms.RoomType"); 
     if (dt.Rows.Count > 0) 
     { 
      LblMessage.Text = " No Room Available"; 
     } 
     else 
     { 
      DataTable dt1 = try.Query("Select Rooms.RoomType, Rooms.PricePerNight From Rooms INNER JOIN Reservations ON (Rooms.RoomId != Reservations.Roomid) ORDER BY Rooms.Roomtype"); 

     if (dt1.Rows.Count > 0) 
     { 
      GridResult.DataSource = dt1; 
      GridResult.DataBind(); 
     } 
     else 
     { 
      LblMessage.Text = "No Rooms Availble"; 
     } 

當我搜索我沒有得到任何可用房間綁定兩個確定時代「沒有房間availble的」是將拿出什麼,我有這麼多的房間 我的目的是爲用戶在搜索它將通過數據表預留,reservations.roomid比較它與表房間rooms.roomid他們顯示那些項目的結果,但不是在預訂中找到,但在房間表中的網格視圖.. 這就是所有如何在網格視圖

謝謝請幫我出來

+0

問題可能出在SQL語句上。你是否在經理工具上針對數據庫運行它們? – melancia

+0

請給出一些關於你的問題的更多細節.. – Shivaay

回答

2

我覺得第一個條件是錯的。代碼應該是

DataTable dt = try.Query("YOUR QUERY"); 
if (dt.Rows.Count > 0) { 
    // Grid Bind Code 
} 
else { 
    LblMessage.Text = " No Room Available"; 
} 

希望這會有所幫助!

+0

我必須是盲人。沒有注意到。該死的星期五。 LOL – melancia

+0

謝謝我已經嘗試過了,但它沒有工作..有什麼想法是爲用戶搜索它將通過datable保留運行,將它與表格進行比較它們顯示那些在預訂中找不到的項目的結果但在房間表中的網格視圖..請幫我出 – user1736648

+0

@ user1736648,我想所有的房間都存在於ReservationTable中,因爲每個房間都必須預留一段時間。所以問題存在於where條件中,因爲您可以看到您沒有在第二個查詢中指定標準之間的日期。試試看,希望你能擺脫這一點。 :) –