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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2007, 15:59   #1
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию SQL запрос

Не знаю как правильно сделать запрос

.....
ADOQuery1.SQL.Add('DataOn > "16.10.2007"');
.....
Ругается что несовпадение типов. Поле DataOn типа TDateTime, а счем сравниваю (16.10.2007 ) это стринг. конвертирую 16.10.2007 в Date всё равон ругается что несовместимо стринг и дата

Подскажите надо правильно оформить запрос
SERG1980 вне форума Ответить с цитированием
Старый 18.10.2007, 16:11   #2
sabina_smile
Пользователь
 
Аватар для sabina_smile
 
Регистрация: 17.11.2006
Сообщений: 10
По умолчанию

В твоем sql запросе dataon является уже преобразованной датой или еще строкой?
sabina_smile вне форума Ответить с цитированием
Старый 18.10.2007, 16:28   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Наверно датой. Вообще я не очень с этим SQL. Вот код полного запроса
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('FROM Main');
ADOQuery1.SQL.Add('WHERE');
ADOQuery1.SQL.Add('DataOn > "16.10.2007"');
ADOQuery1.Active:=true;
MainForm.DataSource1.DataSet:=ADOQu ery1;
SERG1980 вне форума Ответить с цитированием
Старый 18.10.2007, 16:35   #4
sabina_smile
Пользователь
 
Аватар для sabina_smile
 
Регистрация: 17.11.2006
Сообщений: 10
По умолчанию

Дата действительно со строками не сравнивается, преобразуй строку с датой в тип дата
sabina_smile вне форума Ответить с цитированием
Старый 18.10.2007, 16:40   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вот эту строку переделайте:
ADOQuery1.SQL.Add('DataOn > "16.10.2007"');
на
ADOQuery1.SQL.Add('DataOn>'+StrToDa teTime('16.10.2007'));

Правда, может не совпасть с форматом базы (вы же скрываете, какой базой пользуетесь ), тогда используйте StrToDateTime с параметром форматирования. Но для этого нужно будет предварительно подробненько выяснить все о формате DateTime для используемой вами базы.

Последний раз редактировалось mihali4; 18.10.2007 в 16:46.
mihali4 вне форума Ответить с цитированием
Старый 18.10.2007, 16:53   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

База данных Access
Заменил строку пишет следующее
[Pascal Error] main.pas(143): E2010 Incompatible types: 'string' and 'TDateTime'
SERG1980 вне форума Ответить с цитированием
Старый 19.10.2007, 23:03   #7
konkurent
Пользователь
 
Регистрация: 10.04.2007
Сообщений: 51
По умолчанию

как не странно но попробуй вот это
ADOQuery1.SQL.Add('DataOn > #16.10.2007#');
e-mail=konkurent@gala.net
isq=498425545
konkurent вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
SQL запрос Uomo БД в Delphi 17 23.04.2008 14:12
Запрос Инночка БД в Delphi 2 23.04.2008 13:19
SQL-запрос Alexey_vyb БД в Delphi 4 22.05.2007 18:52
SQL-запрос Elena БД в Delphi 3 17.05.2007 15:13