Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Ошибка определения типа столбца ADOQuery


Автор: osmus 10.3.2009, 21:10
У меня в программе есть простой запрос (MySql)


select 
max(tb.insert_date) as max_insert_date
from tb

возвращает дату 2009-10-03

ADOQuery->SQL = данному запросу
открываю список полей ADOQuery добавляю поле max_insert_date смотрю на его тип и он TStringField.
Все нормально ошибок нет.

Меняю базу с дубликата на оригинал... тут же вылетает ошибка Type mismatch for field 'имя поля', expecting: String actual: Date.
Смотрю селект возвращает дату 03.10.2009. Ладно удаляю из списка полей max_insert_date, добавляю его заново и он уже имеет тип TDateField(вдругой базе)  
Что мне сделать, что бы тип определялся всегда одинаково. Наверное нужно что то типа to_date( max(tb.insert_date) as max_insert_date) чтобы он всегда определялся как TDateField.

Помогите  

А и все остальные поля даты которые не вычисляются (select insert_date....) имеют тип TDateField выводятся нормально и с ними проблем нет!

Автор: Rodman 10.3.2009, 23:49
код покажи

Автор: osmus 11.3.2009, 08:42
Кода нет есть SQL запрос и ADOQuery 

Вышел в некоторой мере из проблемы:
date_format(field.date... ,'%m.%d.%Y') as field.date но не знаю на долго его хватит. 

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