Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

Компонент Query   Найти похожие ветки 

 
alex810 ©   (2006-11-27 09:39) [0]

Всем доброе утро. У меня вопрос.
При создании запроса


DataModule6.Query2.SQL.text:="Select * from \Diplom\Bases\Pokaz\Shetch1\Moshn.db where data between ""1."+
IntToStr(Form13.ComboBox1.ItemIndex+1)+".2007 ""and """+IntToStr(days)+"."+
IntToStr(Form13.ComboBox1.ItemIndex+1)+".2007""";


в DataModule6.Query2.SQL.text записывается запрос  DataModule6.Query2.SQL.text:="Select * from \Diplom\Bases\Pokaz\Shetch1\Moshn.db where data between
"1.11.2007 " and  "1.11.2007"#$D#$A
как мне избавиться от #$D#$A


 
Palladin ©   (2006-11-27 09:43) [1]

а зачем?


 
alex810 ©   (2006-11-27 09:45) [2]

У меня этот запрос не получается. Я думаю из-за этого.


 
Palladin ©   (2006-11-27 09:49) [3]

Нет, врядли из-за этого, очень маловероятно. Скорее из-за формата записи дат.


 
MsGuns ©   (2006-11-27 09:50) [4]

>alex810 ©   (27.11.06 09:45) [2]
>У меня этот запрос не получается. Я думаю из-за этого.

"Не получается" из-за неправильного использования дат в запросе

Попробуйте через параметры:
... BETWEEN :d1 AND :d2...
ParamByName("d1").AsDate := StrToDate("1.11.06");
ParamByName("d2").AsDate := StrToDate("30.11.06");


 
alex810 ©   (2006-11-27 09:52) [5]

Да наверно не из-за этого но почему нет данных при запросе

 DataModule6.Query2.SQL.text:="Select * from \Diplom\Bases\Pokaz\Shetch1\Moshn.db where data not between ""1.11.2007"" and ""30.11.2007""";
DataModule6.Query2.SQL.text:="Select * from \Diplom\Bases\Pokaz\Shetch1\Moshn.db where not data between ""1."+
IntToStr(Form13.ComboBox1.ItemIndex+1)+".2007 ""and """+IntToStr(days)+"."+
IntToStr(Form13.ComboBox1.ItemIndex+1)+".2007""";

работает


 
Kostafey ©   (2006-11-27 09:54) [6]

> StrToDate("1.11.06");


Пока помидорами не закидали:
function EncodeDate(Year, Month, Day: Word): TDateTime;

или сразу присваивать фзначение формата Date/DateTime


 
ЮЮ ©   (2006-11-27 09:54) [7]


> Я думаю из-за этого.
>

Зря так думаешь. Лучше ошибку переведи..
З.Ы. пробел после 7 в "1.11.2007 " лишней, а перед 1 не хватает 0.

запрос, оаботающий с датами должен выглядеть так:

Select * <table name> where data between :DateFrom  and :DateTo

Перед открытием заполнить параметры типа TDate[Time]


 
Kostafey ©   (2006-11-27 09:57) [8]

> [5] alex810 ©   (27.11.06 09:52)

Лучше не мучайся с Form13.ComboBox1.ItemIndex+1 и т.п. а используй  TDateTimePicker


 
alex810 ©   (2006-11-27 09:59) [9]

Извените за беспокойство я немного протупил. Не тот год поставил. За 2007 не записей.


 
ЮЮ ©   (2006-11-27 09:59) [10]

where data not between
where not data between

Думаешь можешь ставить как тебе укодно, а не так ка положено по синтаксису?
Если один вариан работае, а другой нет, почему "Почему?", а не использование работающей конструкции?


 
Desdechado ©   (2006-11-27 11:25) [11]

еще один любитель граблей или садист над пользователями
ПАРАМЕТРЫ!!!



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.063 c
15-1164703255
Альберт
2006-11-28 11:40
2006.12.17
Как создать дистрибутив?


15-1164350012
Zhekson
2006-11-24 09:33
2006.12.17
Чувствительность к регистру


2-1164628470
Cooller
2006-11-27 14:54
2006.12.17
Наименьший делитель


15-1163685268
Calibr
2006-11-16 16:54
2006.12.17
Flash CD-Rom Device


11-1140550276
Alextp
2006-02-21 22:31
2006.12.17
Добавить NewReadFileStreamW