![]() |
|
|
![]()
|
|
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Мне нужен только пример.
Пусть есть таблица в которой один атрибут, с типом дата/время. Скажите как создать запрос чтобы, по определённой дате вывести строку с этой датой, а то когда я пишу так:
то ни хрена не правильно выводится. Точнее сказать ничего не выводится, а дата в точности совпадает с той которая у меня в таблице. Добавлено @ 17:31 Работаю в MS Access. Интересно кого в эту фирму только не понабрали. |
|||
|
||||
| SPrograMMer |
|
|||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: 1 Всего: 6 |
Zero, дату заключай в апострофы.
Да и отдельно от веремени, хотя с Access`ом я не работал, может и вместе усё моно. -------------------- животное = зверь законченный гентушник |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Вот именно. Добавлено @ 07:35 Короче апострофу однозначно не подходят. |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 5 Всего: 44 |
Zero- как я тебя понимаю... ты наткнулся на тот камень на который я наткнулся года 1,5 назад...
как можно избежать таких проблем в будушем: тип датавремя в БД (Access) можно представить как тип Real- 02540,215 где челая часть это дата, а дробная время. в своей таблице, для даты создаешь поле типа int, а записывать будешь так: Table1.insert; Table1.FieldByName('My_Date').AsInteger:=Trunc(Real(Date)); Table1.Post; а извлекать так: var st:string; ------------------ st:=DateToStr(Date(Table1.FieldByName('My_Date').AsFloat)); согласись как будет удобно писать такой запрос: SELECT Дата FROM Таблица1 WHERE Дата=10254; Ну а записать вместо даты(int) время(Real), думаю тебе не составит труда. |
|||
|
||||
| Dimich |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 25.8.2004 Где: Брянск Репутация: 3 Всего: 7 |
Интересно, а если выполнить так:
Он выберет чего нибудь? З.Ы. Просьба не считать это методом решения, просто мне интересно знать. --------------------
Не работает - исправь, работает - не трогай!!! |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Не вывел, ни чего. DimW я конечно тоже люблю изобретать велосипеды, точнее часто приходится это делать, но как таковую проблему я решил другим способом, за место даты я сравнивал с одновременно 2-мя другими полями, и результат вроде тот же. А этот вопрос у меня просто остался не завершённым, и я хотел бы узнать обьяснения от того кто понимает причину по которой происходит такая штука. И как непосредственно нужно сравнивать с датой. А на счёт замены типа дата время полями (int, real) мне кажется это не лучший способ, ИМХО проще будет текстовый тип использовать, ом и понятнее будет. И кстати, как это ты интересно представляешь вот такое число 02540,215 в виде даты? Я когда читал про типы, то помню там было написано, что он представляется вещественным числом, а потом каким-то алгоритмом переводится во время, тока там алгоритм перевода (в Фаронове) не был приведён. |
|||
|
||||
| DDX |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 31.1.2005 Где: Москва Репутация: 5 Всего: 5 |
Zero
вот сейчас в акцессе попробовал:
ищет вообще без проблем, тип поля field2 - DateTime, ищет на ура З.ы. ты уверен, что ищешь дату за 2006 год? (ну, так, уточнил) это ищет в самом access, щас попробую в дельфях WinXP SP 2, Access 2003, D6 Это сообщение отредактировал(а) DDX - 13.4.2005, 14:45 --------------------
Учиться, учитьcя и ещё раз учиться |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Теперь всё нормально. Спасибо DDX, всё тут я понял.
|
|||
|
||||
| DimW |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 5 Всего: 44 |
Туда и обратно:
ды както некрасиво с текстовым полем делать операции типа BETWEEN, <=, >=, <, >!!!! |
||||||
|
|||||||
| DDX |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 31.1.2005 Где: Москва Репутация: 5 Всего: 5 |
у тебя и там, и там 4 --------------------
Учиться, учитьcя и ещё раз учиться |
||||
|
|||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Блин, да хрен её знает... У меня всегда так бывает, что когда сам что-нибудь делаю то не работает, а когда кто-нибудь, что-нибудь покажет, то заработает. А прикинь какая фигня DDX, только что попробывал свой код который вначале был воткнуть, и теперь всё работает, а да этого когда писал не работало... |
|||
|
||||
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
Я однажды тоже с датами парился. ввожу даьу в Access все работает, а ввожу ее через запрос в Delphi так итог такой, что этой даты нет. Пришлось выкручиваться следуюшим образом, может пригодиться.
В запросе поле даты менял на строковую переменную (WHERE Str([Date])='01.12.3000'), а затем уже подсовыват данные не как дата, а как обыкновенная строка и все работало отлично |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Zero
бывает.. |
|||
|
||||
| DDX |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 31.1.2005 Где: Москва Репутация: 5 Всего: 5 |
Zero
бывает Это сообщение отредактировал(а) DDX - 14.4.2005, 18:10 --------------------
Учиться, учитьcя и ещё раз учиться |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
Для передачи значений в SQL запрос рекомендуется использовать параметры, Они для этого и существуют.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |