Re: сохранение record-переменной в БД
От: __Azeroth__ Россия  
Дата: 01.04.10 17:55
Оценка:
Почему бы не сделать следующее:


const len=<Длина то известна заранее>;
type
  TOccurence  = packed record
   case boolean of
     True: (
           dummy:byte; // для AllInString[0]
           VarOcurCount:TVarOcur;
           StartDate:TDate;
           FinishDate:TDate;
           OcurCount:smallint;
           OcurVariant:TOcur;
           ocDay: TOccurenceDay;
           ocWeek: TOccurenceWeek;
           ocMonth: TOccurenceMounth;
           ocYear: TOccurenceYear;
           );
    False:(
           AllInString:shortstring[len];
           );
  end;

  POccurence=^TOccurence;
...
var o:TOccurence;
begin
 ADOQuery1.edit;
 ADOQuery1.Fields[0].asstring:=o.AllInString;
 ADOQuery1.post;
end;


длина записи нам известна, она меньше 255, можно использовать вариантную запись.
старый проверенный способ , а в базе хранить всё в binary char, дабы не потерять информацию ненароком.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.