работа с полем Image (MS SQL)
подключаюсь через АДО
пишу на билдере
Цитата:
Originally posted by Felix
каким образом вставлять,извлекать и изменять значение данного поля... то есть нужно записать туда jpg файл который есть на диске...
подключаюсь через АДО
пишу на билдере
каким образом вставлять,извлекать и изменять значение данного поля... то есть нужно записать туда jpg файл который есть на диске...
подключаюсь через АДО
пишу на билдере
Попробуй TJpegImage шьфпу = new ((TJpegImage)sql->FieldByName("name")->AsData()); это прочитать. А записать так и не придумал как... Не совсем помню класс... Хотя может и не сработать, но направление думаю верное.
Цитата:
Originally posted by Sheridan
Попробуй TJpegImage шьфпу = new ((TJpegImage)sql->FieldByName("name")->AsData()); это прочитать. А записать так и не придумал как... Не совсем помню класс... Хотя может и не сработать, но направление думаю верное.
Попробуй TJpegImage шьфпу = new ((TJpegImage)sql->FieldByName("name")->AsData()); это прочитать. А записать так и не придумал как... Не совсем помню класс... Хотя может и не сработать, но направление думаю верное.
что то не получеаеться.. вычитал что нужно использовать ТБлобФилд ТБлобСтрим но как????
Цитата:
Originally posted by Felix
что то не получеаеться.. вычитал что нужно использовать ТБлобФилд ТБлобСтрим но как????
что то не получеаеться.. вычитал что нужно использовать ТБлобФилд ТБлобСтрим но как????
Гм... Ну с блобфиелдом понятно, это стандартный вид данных с неизвестной длиной в бд, а насчет использовать... что гриш пишут в хелпе?
int MemSize;
char *Buffer;
//if (!ADOQuery1->Eof)
//ADOQuery1->Next();
TStream *Stream = ADOQuery1->CreateBlobStream((TBlobField *)ADOQuery1->FieldByName("foto"), bmRead);
try
{
MemSize = Stream->Size + 1; // add one for null terminator
Buffer = new char[MemSize]; // Allocate the memory.
try
{
Stream->Read(Buffer, MemSize); //Read Notes field into buffer.
Image1->SetTextBuf(Buffer); // Display the buffer's contents.
}
catch (...)
{
delete Buffer;
throw;
}
delete Buffer;
}
catch (...)
{
delete Stream;
throw;
}
delete Stream;