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


Автор: Driv3r 30.5.2006, 12:51
Выдаётся ошибка при попытке записать в поле строку.Получается что тип поля не строковый.Но как его сделать строковым.Из похожих свойств есть FieldKind,он установлен в fkData.Но строку записать всё равно не получается.Как можно изменить тип поля?  

Автор: SergeBS 30.5.2006, 16:27
Driv3r
телепаты в отпуске.
Обязательно указание:
1. Базы данных (Paradox, Oracle и т.п.)
2. Способа доступа (ADO, BDE и т.д.)

 

Автор: skyboy 30.5.2006, 16:58
Driv3r, fkData. А ты пытаешься строку записать. А как ты записываешь? ...AsString:='20.03.2001'? Лучше тогда уж использовать спецпеременную типа TDate:
Код

var TempDate:TDate;
....
TempDate:=....;
...AsDateTime:=TempDate;
...

SergeBS, почему сразу "в отпуске"? Вот он я - на рабочем месте  smile Третья категория, четвёртый дан... Слабый ещё, но быстро учусь  smile  

Автор: Driv3r 30.5.2006, 18:54
Цитата(skyboy @ 30.5.2006,  16:58)
Driv3r, fkData. А ты пытаешься строку записать. А как ты записываешь? ...AsString:='20.03.2001'? Лучше тогда уж использовать спецпеременную типа TDate:
Код

var TempDate:TDate;
....
TempDate:=....;
...AsDateTime:=TempDate;
...


Мне нужно записать строку,а не дату.
Вот что на выбор даёт FieldKind:fkInternalCalc,fkLookup,fkData,fkCalculated,fkAggregated.Чего то похожего на string нет.Может есть ещё какое свойство,которое надо изменить.
Делаю так:
Код

Table1.Edit;
Table1.FieldByName('ID').AsString:='Строка';
Table1.Post;

Если вместо 'Cтрока' будет '1124' то всё будет работать нормально.
 

Автор: skyboy 30.5.2006, 19:41
Driv3r, гы... перепутал я... DataKind - это не тип хранимого, а его происходждение - либо взято из базы, либо вычислено "на лету" и т.д. А вообще, в рантайме изменять тип низзя - это надо уже базу менять, а 1124 нормально записывается, потому как, видимо, у тебя соответствующее поле имеет тип "числовое". Как посмотреть? В комплекте идёт тулза DatabaseDesktop - ею и смотри. 

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