Хранение изображения в таблице
Добавлено: 26 окт 2011, 14:58
Я пишу свой интерфейс для учета временных пропусков в Галактике. Данные храню в своей таблице, в випе ее не видно, достаю через хранимые процедуры. Таким же образом должны храниться фотки. Вопрос такой: как из своей таблицы записать фотку в мемо-поле в випе? Может есть какой-нибудь тип переменной, которая будет хранить изображение? Вот сами локальные таблицы и инициализация через хранимую процедуру:
Код: Выделить всё
var PictureFoto:[тип данных?];
table struct local tmpPass //таблица с данными о пропусках
(
Nrec:Comp,
PView:string,
Number:Double,
..............
Foto:comp
)
with index (Nrec,PView);
table struct local tmpFoto //таблица с фотографиями
(
Nrec:Comp,
Foto:[тип данных?]
)
with index (Nrec);
Interface PassForm 'Пропуск' (,,sci1378EnEsc) EscClose;
..........
Text tmpFoto.Foto; //мемо-поле
panel panFoto;
table tmpFoto;
end;
........
handleEvent
cmInit:
{
stmt := sqlAllocStmt;
sqlPrepare(stmt, 'LoadTempPass');
sqlBindCol(stmt, 1, cNrec);
sqlBindCol(stmt, 2, sView);
sqlBindCol(stmt, 3, dNumber);
.............
sqlBindCol(stmt, 27, cFoto);
SqlExecute(stmt);
while(sqlFetch(stmt) = tsOk)
{
insert tmpPass set
tmpPass.Nrec := cNrec,
tmpPass.PView := sView,
tmpPass.Number := dNumber,
............
tmpPass.foto:= cfoto //ссылка на tmpFoto.nrec
}
sqlFreeStmt(stmt);
//tmpFoto
stmt := sqlAllocStmt;
sqlPrepare(stmt, 'LoadTmpFoto');
sqlBindCol(stmt, 1, cNrec);
sqlBindCol(stmt, 2, PictureFoto);
SqlExecute(stmt);
while(sqlFetch(stmt) = tsOk)
{
insert tmpFoto set
tmpFoto.Nrec := cNrec,
tmpFoto.foto:= PictureFoto
}
sqlFreeStmt(stmt);
}
........
end;
end.