Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2011, 08:47   #1
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию SQL...DBDateEdit...Бьюсь головой в стену

Всем доброго времени суток..... Будьте добры - объясните как решить проблему (Танцую с бубном уже 3й день к ряду...сам разобраться не могу):

В таблице SQL Есть поле DATA - со значением datetime...
В Delphi - на форме стоит DBDateEdit - сий компонент отказывается работать с полями кроме полей со значением Datetime.

Далее.....Задача такова - чтобы выводить записи из таблицы - по выбранной дате....

у меня есть SQL запрос -
Код:
connection.ADOQuery5.SQL.Clear;
connection.ADOQuery5.SQL.Add('SELECT DATA');
connection.ADOQuery5.SQL.Add('FROM DAMAGE');
connection.ADOQuery5.SQL.Add ('WHERE DATA LIKE '''+ dbdateedit1.text +'%''');
connection.ADOQuery5.Active:=true;
connection.DataSource6.DataSet:=connection.ADOQuery5;
Результаты нулевые..... помогите...почему?

Далее.... вместо dbdateedit Пробовал использовать компонент datetimepicker - Но при запуске выдает ошибку в строке
Код:
connection.ADOQuery5.SQL.Add ('WHERE DATA LIKE '''+ DateTimePicker1.date +'%''');
Incompatible types: 'String' and 'TDate'

Помогите советом....
NitroSki вне форума Ответить с цитированием
Старый 29.06.2011, 08:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Поле Data типа какого? Если не символьного - то при чем здесь LIKE? Наверно типа дата-время? Делайте параметризированный запрос и не мучайтесь с преобразованием
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.06.2011, 08:55   #3
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию

Тип поля DATA - Datetime.

Если не Like то что же?
Приведите Семпл пожалуйста
NitroSki вне форума Ответить с цитированием
Старый 29.06.2011, 09:04   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
connection.ADOQuery5.SQL.Add ('WHERE DATA=:data1');
...
connection.ADOQuery5.ParamByName('data1').asDateTime :=DateTimePicker1.date;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.06.2011, 09:16   #5
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию

Код:
connection.ADOQuery5.ParamByName('data1').asDateTime :=DateTimePicker1.date;


Undeclared identifier: 'ParamByName'



((
NitroSki вне форума Ответить с цитированием
Старый 29.06.2011, 09:23   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы бы давно пошарились поиском по форуму (хоть по словам дата и запрос, хоть по слову параметрический запрос, или, он же параметризированный запрос хоть по слову ParamByName) и сразу бы нашли КУЧУ готовых примеров!!

попробуйте так:
Код:
connection.ADOQuery5.Parameters.ParamByName('pDate').Value := DateTimePicker1.date;

Последний раз редактировалось Serge_Bliznykov; 29.06.2011 в 09:25.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.06.2011, 09:28   #7
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию

Изв за повторения судя по всему уже не одной такой темы на форуме...

Ниче не получается - ошибок не пишет....но и не работает...

Вот еще момент - запись в поле таблицы - 06.08.2011 00:00:00...... т.е. любая дата - которую я заношу в поле через dbDateedit в другой форме - сохраняется автоматически с указанием времени....может поэтому не ищется?

Хотя проводил эксперимет - вот таким запросом
Код:
connection.ADOQuery5.SQL.Clear;
connection.ADOQuery5.SQL.Add('SELECT DATA');
connection.ADOQuery5.SQL.Add('FROM DAMAGE');
connection.ADOQuery5.SQL.Add ('WHERE DATA =: ''06.08.20011 00:00:00''');
И запись в таблице не находится..... хотя значение точное...вообщем понять ниче не могу...подскажите ПЛЗ и не сильно козлите меня пожалуйста за значие мат части Пжалста

Последний раз редактировалось NitroSki; 29.06.2011 в 09:47.
NitroSki вне форума Ответить с цитированием
Старый 29.06.2011, 10:16   #8
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию

Буду ругаться - МОДЕРАТОРУ!!!! ЧЕ ТОЛКУ БЛИН!!!! ПРОСЕРФИЛ ВЕСЬ ПОИСК ПО ЭТИМ СЛОВАМ - ВЕЗДЕ ОДИН ВАШ ПОСТ - ИЩИТЕ В ПОИСКЕ "ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ...."

бОТА ЧТО ЛИ?

Сами то смотрели - есть ли ответы на эти запросы по форуму??? Или просто заголовки прочитали и типа все...значит ответы есть!!!!

На форуме практически нет ответов по данному поводу...а вот вопросов куча.....И еще куча ваших постов - типа ищите по ключ слову.... Искали...нет ни хрена.....Модеры блин

Последний раз редактировалось NitroSki; 29.06.2011 в 10:20.
NitroSki вне форума Ответить с цитированием
Старый 29.06.2011, 10:27   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А вы не ругайтесь. Если знания к нулю приближаются, не мешало бы литературу почитать или хотя бы хелпы по компонентам. Если собираетесь искать только по дате - какого фига в базу и время писать? Естественно не найдет. Тогда ищите в СУБД функцию, которая возвращает из даты-времени только дату или запрос типа DATA>='06.08.2011 00:00:00' AND DATA<'06.09.2011 00:00:00', но опять же параметризированный. А ваше условие 'WHERE DATA =: ''06.08.20011 00:00:00''' - это типа ночного кошмара
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.06.2011, 10:44   #10
NitroSki
Давно не
Пользователь
 
Аватар для NitroSki
 
Регистрация: 19.05.2011
Сообщений: 58
По умолчанию

Спасибо за ответ!!! Думаю если бы любого человека забросили в новую область программирования ...его знания можно было бы оценить в районе 0!

Только есть одна большая разница - когда знания приближаются к нулю, и когда знания отдаляются от 0!!!

Да и дело прошлое - судя по вопросам на форуме, таких как я преобладающее большинтсво!!!!

А злой я потому что задача почти готова...осталось вот с этой хренью разобраться!!!!!!!!

ЗЫ - знания весят гораздо меньше - чем стремление человека расковыряться с проблемой!!!! Есть и такие которые на костылях кое как что то сделают, потом прога падает и ПИПЕЦ!!!! Так что страшные у меня запросы, или вообще ужасные - я пытаюсь разобраться с проблемой всеми возможными силами и способами...

Коммент ДЛЯ СУДЕЙ - Вас тоже наверно обижали, когда вы были еще не опытными програмерами???(Теперь мстите...да)

Последний раз редактировалось NitroSki; 29.06.2011 в 10:48.
NitroSki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зачетка.....пыщь об стену! Tifa Помощь студентам 6 27.01.2011 01:56
Неделю бьюсь об задачу Shamonya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 17.11.2010 05:06
Бьюсь с кодом смайлов сла JavaScript, Ajax 3 07.09.2010 09:02
проблемы с головой - ОПЕРАТОРЫ УСЛОВИЯ Asira Помощь студентам 6 22.12.2009 16:39