Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Ошибка выборки по датам


Автор: tresda 5.4.2006, 06:43
Добрый вечер Уважаемые Мастера!!!

У меня такая проблема при выполнении следующего кода:
Код

s:='Select Surname, Name, Patronymic, Date_birth, Surname_reg, Name_reg, Patronymic_reg, SIK, RNN, Sex, Citizenship, Document, Number_document, Seria_document, Date_document,';
s1:='Whois_document, City, Postal_code, Address, Telephone, Fax, E_mail, Pens_document, Num_pens_doc, Date_pens_doc, Date_off_pens_doc, Pens_fund  from clients where Date_birth="';
s2:=maskedit1.Text;
s3:='"';
s4:=' ORDER BY Surname';
s0:=s+s1+s2+s3+s4;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(s0);
ADOQuery1.Open;


появляется ошибка "Несоответсвие типов данных в выражении условия отбора". Поле Date_birth имеет тип данных "Дата/время".
Пробовал даже так делать:
Код

/////// \\\\\\\\\\\ from clients where Date_birth in ('08.08.1983')

всеравно не получается.

База данных Access

Спасибо за любую оказанную помощь


Автор: lotax 5.4.2006, 07:12
Код

s:='Select Surname, Name, Patronymic, Date_birth, Surname_reg,' + 
     'Name_reg, Patronymic_reg, SIK, RNN, Sex, Citizenship, Document,' + 
     'Number_document, Seria_document, Date_document, Whois_document,' +
     'City, Postal_code, Address, Telephone, Fax, E_mail, Pens_document,' +
     'Num_pens_doc, Date_pens_doc, Date_off_pens_doc, Pens_fund  from clients ' +
     'where Date_birth = DateValue('''  + maskedit1.Text + ''')' +'ORDER BY Surname';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(s);
ADOQuery1.Open;

Автор: Fast 13.4.2006, 15:39
Я недавно столкнулся с похожей проблемой
Тоэе в аксесе и тоже с датами!
Попробуй так '#' + maskedit1.Text + '#'
Что бы число было в решётках =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)