Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранить данные своего типа?


TableUser ©   (2007-04-17 12:28:00) 

Подсажите, пожалста. В базах не силен :(
Таблица на Paradox'е. Хочу в нее помимо имеющихся столбцов, затолкать массивчик с данными (одним столбцом).
В DB Desctop'е добавил столбец с типом Binary (правильно?), но не пойму как с ним работать (т.е. положить туда мой массивчик и потом считать)?

ЗЫ: В факах и на форуме поискал, но не нашел...


TableUser   (2007-04-17 14:51:00) [1]

Чето лыжи не едут :)

Для теста сделал две функции
пишущая в таблицу
procedure TfrmOrders.Button1Click(Sender: TObject);
var instr: string;
   strm:TStream;
   s:integer;
begin
   instr:='123456789';

   with DataMod.tbZak do
   begin
       Append;
       strm:=CreateBLOBStream(FieldByName('PostDocs'),bmWrite);
       strm.Write(instr, Length(instr)+1);
       s:=strm.Size;
       strm.Free;
       Post;
   end;
   Edit1.Text:=IntToStr(s)+':'+instr;
end;

читающая из нее
procedure TfrmOrders.DBGrid1CellClick(Column: TColumn);
var outstr:string[100];
   strm:TStream;
   s:integer;
begin

   with DataMod.tbZak do
   begin
       Edit;
       strm:=CreateBLOBStream(FieldByName('PostDocs'),bmRead);
       s:=strm.Size;
       strm.Read(outstr,s);
       strm.Free;
       cancel;
   end;
   Edit1.Text:=IntToStr(s)+':'+outstr;
end;


Ошибок не выдает. Но при считывании в эдите строчка левая какая-то. Хотя размер считывает один-к-одному...
В чем я ошибся. Помогите, плиз.


Desdechado   (2007-04-17 12:32:00) [2]

Dataset.CreateBlobStream


Jan1   (2007-04-17 12:28:00) [3]


> Таблица на Paradox'е. Хочу в нее помимо имеющихся столбцов,
>  затолкать массивчик с данными (одним столбцом).

а почему не вертикально?


Наверх

Титульная страница Поиск, карта сайта Написать письмо