Помогите мне решить этот вопрос - PullRequest
1 голос
/ 15 февраля 2011

У меня есть таблица с информацией об аукционах.Поля AuctionID, Location, StartDateTime, EndDateTime, Status и т. Д.

Мне нужен запрос для отображения аукционов на всю неделю (исключая выходные), как показано на рисунке.Я использую сетку VS 2008 и извлекаю данные из SQL Server 2005.

Software Genius Inc.

Сетка показывает аукционы на конкретную дату в зависимости от местоположения в столбце.НапримерНа Позиции 11, 12,13,14,15 пять раз проводятся аукционы с 14 по 14 февраля.

Может кто-нибудь решить мою проблему.

Спасибо, что поделились своим временем.

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

Создайте класс Аукциона, как предлагает @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);
}

В вашем коде вам нужно отсортировать список по StartDate (используйте `List.OrderBy...) '), а затем привязать к элементу управления.

HTH.

1 голос
/ 15 февраля 2011

Вы можете просто создать класс с 5 открытыми свойствами, по одному на каждый день недели, и загрузить список этого класса простым запросом.

Если вы действительно хотите запрос, вы можете использовать переключатель в предложении select

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...