среда, 8 февраля 2012 г.

Запрос к DBF с условием по полю типа Date

    В принципе, обычное условие, ничего особенного. Если не считать формата, в котором нужно указывать в запросе эту дату.
 Для JET - товского драйвера дата указывается в виде

#YYYY-MM-DD#


причем именно так, с решеткой в начале и в конце. При этом, если выполнить запрос к такому полю, то данные вернуться в формате DD.MM.YYYY, что несомненно увеличивает удобство работы. Поэтому придется выполнять дополнительные телодвижения. Например, собрав дату в строку конкатинацией в лоб:

string data_select;
//.........................
//закидываем в data_select нужное значение даты
//.........................

comm.CommandText = @"SELECT * FROM TABLE WHERE DATE_FIELD >= #" + data_select.Substring(6, 4) + "-" + data_select.Substring(3, 2) + "-" + data_select.Substring(0, 2) + "#";


    Либо мы просто используем переменные  типа DateTime, указывая формат возвращаемой даты:

            DateTime end_date;
            string test;
            end_date =  DateTime.Now;
            test = end_date.ToString("yyyy-MM-dd");



Для драйвера VisualFoxpro  формат уже другой:

{MM.DD.YYYY}

т.е. в коде это будет выглядеть так:

test = end_date.ToString("MM.dd.yyyy");

Похожие посты:

Комментариев нет:

Отправить комментарий