Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка по дате, проблема. 
:(
    Опции темы
Damp1L
Дата 11.3.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Возникла такая проблема, имеем базу данных VFP, осуществляю доступ к ней через ODBC. В таблице много столбцов, но они особой роли не играют в проблеме, мне нужно сделать выборку по дате. Вот текст запроса который пишу в SQLBuilder:
Код

SELECT дата, должность, номер, идент_код
FROM table2 Table2
WHERE дата>{11/11/1990}

если его выполнять в нём, то всё будет ок.
Мне нужно вормировать запрос самому. Далее я пишу такой код:
Код

AnsiString reuqest2="SELECT дата, должность, номер, идент_код FROM table2 Table2 WHERE дата>{11/11/1990}";
Form1->Query3->SQL->Clear();
Form1->Query3->SQL->Add(reuqest2);
Form1->Query3->Open();

при попытке выполения кода получаю:
'Invalid use of keyword. Token:дата>{11/11/1990'
В чём моежет быть моя трабла ?
PM MAIL   Вверх
Anark1
Дата 11.3.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: 3
Всего: 11



11/11/1990 - такой вид имеет дата, если используешь строковый тип. А для того чтобы сравнивать даты нужно использовать тип - date, значения которого имеют вид дд.мм.гггг.
То есть нужно подправить поле таблицы и иначе записать дату.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Damp1L
Дата 12.3.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Дык у меня стоит тип Date в таблице, и почему тогда в SQLBuilder запрос работает исправно ?
PM MAIL   Вверх
Rodman
Дата 12.3.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



конвертить даты надо...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Damp1L
Дата 12.3.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



покажите плиз как =)
PM MAIL   Вверх
Anark1
Дата 12.3.2007, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: 3
Всего: 11



->AsDateTime
->DateToStr
->StrToDate

наверное, все что нужно.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Damp1L
Дата 15.3.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Ничего не получается.. может кто кинет пример ? А то я уже незнаю как и быть даже...
PM MAIL   Вверх
Damp1L
Дата 19.3.2007, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Эх... все молчат ><
PM MAIL   Вверх
Anark1
Дата 21.3.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: 3
Всего: 11



Я не понимаю, что тебе не понятно.
Код

Text1 = StrToDate(Text2)
Text2 = DateToStr(Text1)
MyTable_MyField->Text = Edit1->Text->AsDateTime

Вот примеры.
А вообще если нужно как либо работать с самой датой, то я бы написал функцию под эту задачу.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Damp1L
Дата 23.3.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Проблема решена. Изменение ReqestLive на False убрало проблему.
PM MAIL   Вверх
medicdim
Дата 4.6.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



Ещё можно решить проблему средствами СКЛ:

select * from Table1
where date>To_Date('1.01.2007', dd.mm.yyyy)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0521 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.