![]() |
|
|
![]()
|
|
| Falkon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
Кто нибудь может мне показать как выбрать записи по полю типа DateTime. по текстовым и числовым полям у меня нормально выбирает записи, а по дате не хочет пишет либо ошибка синтаксиса если я пишу так: 20.06.2006, а если я пишу:20/06/2006 то запрос выполняется, но данных не находит, хотя у меня несколька полей подходящих условию. Пишу запрос: SELECT * FROM MyBase WHERE Dt=20.06.2006 я вот незнаю может там необходимо указать параметр какойто или ещё чо
|
|||
|
||||
| comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 1 Всего: 71 |
А у тебя в таблице данные как выглядят так 20/08/2006 или так 20.08.2006??
Обычно как мне встречалась всегда 2006.08.20
используй Date_Format Это сообщение отредактировал(а) comtat - 20.6.2006, 12:24 -------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
comtat, кажись, ты хотел написать так:
|
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
А что за БД?
|
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
http://vingrad.ru/DELPHI-DLP-001473
http://vingrad.ru/DELPHI-DLP-001424 http://vingrad.ru/DELPHI-DLP-002580 comtat, skyboy вам тоже полезно будет почитать Это сообщение отредактировал(а) Alex - 20.6.2006, 15:02 -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
Alex, я понял намёк
|
|||
|
||||
| Falkon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
база написана в Аксесе
|
|||
|
||||
| comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 1 Всего: 71 |
skyboy, спасибо за поправку я это и имел в виду.
Alex, я опирался на функции MySql'я. Пример даты в студию Это сообщение отредактировал(а) comtat - 21.6.2006, 07:53 -------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
comtat, skyboy вам тоже полезно будет почитать. После ваших ответов я бы сказал обязательно к прочтению
Falkon, я думаю ответ на свой вопрос вы нашли по приведенным ссылкам выше, если нет, то скажите какими компонентами доступа пользуетесь. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
||||
|
||||
| Falkon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
все у меня получилось, но... этот запрос выполняется один раз. Я создал параметр в ADOQuery с типом DateTime и к его значению Value присваиваю переменную с датой, а потом в запросе пишу имя параметра как переменную. этот запрос отлично выполняется ровно один раз, потом либо выводит пустую таблицу либо выдает ошибку, она звучит примерно так: "ненайден параметр par1 (у меня так параметр называется)"
|
|||
|
||||
| comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 1 Всего: 71 |
Запрос в студию
-------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
А лучше все манипуляции с ADOQuery в студию
|
|||
|
||||
| Falkon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
да пожалуйста
strSQL:='SELECT Fam, Im, Otch, Gr, Dt, NomZad, TipZad, Oper, Zad, Popitka, Itog FROM MyBase WHERE '; Формирование запроса: case vib of 1:strPole:='fam'; 2:strPole:='Gr'; 3:strPole:='Dt'; end; strKrit:=edFilter2.Text; ser.Q.Close; if vib <> 3 then strSQL:=strSQL+strPole+'='+''''+strKrit+''''+' and ' else begin q.Parameters.ParamByName('par1').Value:=StrToDate(strKrit); strSQL:=strSQL+strPole+'=:par1 and '; запуск запроса: ser.Q.Close; ser.Q.SQL.Clear; strSQL:=copy(strSQL,1,length(strSQL)-5); ser.Q.SQL.Append(strSQL); ser.Q.Open; strSQL:='SELECT Fam, Im, Otch, Gr, Dt, NomZad, TipZad, Oper, Zad, Popitka, Itog FROM MyBase WHERE '; |
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Не понятно почему он первый раз работает...
Насколько я помню порядок должен быть такой With AdoQuery1 do begin SQL.Clear; SQL.Text:='что то с параметром'; Parameters.ParamByName('par1').Value:=Value; Open; end; А у тебя значение параметра присваивается до того как он создан, поэтому он и не найден PS Куда подвалась кнопка Kod |
|||
|
||||
| Falkon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
я параметр задаю не в процесе выполнения программы, а в процессе разработки, т.е. я его задаю не кодом, а в инспекторе |
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Если задаешь в инспекторе, тогда понятно почему первый раз работает.
ADOQuery.SQL.Clear убивает параметр! Присваивай ему значение после присвоения текста запроса |
|||
|
||||
![]()
|
| Правила форума "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. |