2011-02-15 117 views
1

我有一個存儲拍賣信息的表。這些字段是AuctionID, Location, StartDateTime, EndDateTime, Status幫我解決這個問題

我需要一個查詢,顯示了整週的拍賣(不包括週末),如圖中所示。我使用VS 2008 GridView和取數據從SQL Server 2005

Software Genius Inc.

網格顯示的具體日期拍賣根據位置逐列。例如。上有位置11,12,13,14,15 5次拍賣與上週一2月14日

任何人都可以解決我的問題,不同的時間。

感謝分享你的時間。

+0

圖片對我有用 – 2011-02-15 09:25:17

回答

1

創建競價類作爲@Karel建議使用一個開關。例如。

public class Auction{ 
    public int ID{get;set;} 
    public DateTime StartDate{get;set;} 
    public DateTime EndDate{get;set;} 
    public string Location{get;set} 
    //Add other member variables for all Auction columns. 
} 

然後編寫一些代碼來填充數據庫中與時間範圍匹配的類的集合。

所以在SQL你需要做類似的查詢或存儲過程:

SELECT * FROM Auction WHERE (StartDateTime > @StartDate AND EndDateTime < @EndDate) --As appropriate for your RDBMS. 


`/*Get Data into an SQLDataReader (for speed) or DataTable/Set if you prefer*/` 
List<Auction> myAuctions = new List<Auction>(); 

while (rdr.Read()){ 
    Auction auc = new Auction(); 
    auc.AuctionId = (int)rdr["AuctionId"]; 
    //set all properties. 
    myAuctions.Add(auc); 
} 

在你的代碼需要通過起始日期排序名單的(使用`List.OrderBy(...) '),然後綁定到一個控件。

HTH。

+0

感謝哥們。但我不認爲這會解決我的問題。這裏唯一的問題是,一天可能會有'n'個拍賣。這是每列中的數字或行數不相同。 – IrfanRaza 2011-02-15 12:27:26

1

你可以只創建一個具有5個公共屬性,一個一週的埃維一天一類,並將其加載類的列表,一個簡單的查詢。

如果你真的想要一個查詢,你可以在你選擇條款