Форум: "Начинающим";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
ВнизКомпонент 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c