powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / запись в базу графического файла больше 1мега
8 сообщений из 8, страница 1 из 1
запись в базу графического файла больше 1мега
    #32132093
Lars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю с SQL Server 7.0,нужно занести в базу в поле Image-BMP file,но хотя нигде и не описаны ограничения, компоненты TTable TQuery видимо их имеют в Делфи 5,не могу записать рисунок,когда он весит больше мега.
Делить его не могу,нужно его ещё потом в отчёт вставлять FreeRеport-овский,
может кто-то что либо подскажет на эту тему. Существует ли выход из ситуации?
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132109
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не исползовать BDE - лучше всего ADO. Это самый лучший выход
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132110
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет никаких ограничений.. Я и по 10Мб записывал.. Проблемы могут быть, если ты используешь ODBC для подключения..
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132134
111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если через BDE посмотри параметры BLOB SIZE, BLOB TO CACHE
(м.б. нужно их увеличить)
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132325
Lars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо кто откликнулся,
хотя у меня жёсткая привязка к BDE и именно ODBC и это не от меня зависит
А изменение настроек BLOB Size Blob Cache точно помогают в этом случае?
Я спец слабый во всём этом(чайник),где-то пыталась смотреть,не нашла
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132356
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ODBC размер передаваемого запроса не может быть больше 64Кб... Так что придется извращатся...
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132406
Lars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я в общем-то в конкретном случае вывернулась ограничением размера файла всё же,но на будущее хотелось узнать поточнее,а вдруг есть такая возможность,а я её просто не знаю...
спасибо за разъяснение!
...
Рейтинг: 0 / 0
запись в базу графического файла больше 1мега
    #32132503
mitritch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй, может поможет (JPG).

private
Result : integer;
Ms : TMemoryStream;
Ss : TStringStream;
Pict : TPicture;
Jpg : TJpegImage;

-------- загрузка картинки в поток -> базу ------------------
procedure TFm_spMain.ALoadExecute(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
if Query1.State = dsBrowse then
Query1.Edit;
Query1FILENAME.Value := OpenPictureDialog1.FileName;
Pict := TPicture.Create;
try
Pict.LoadFromFile(OpenPictureDialog1.FileName);
Jpg := TJpegImage.Create;
Ss := TStringStream.Create('');
if Pict.Graphic is TJPegImage then
begin
Jpg.LoadFromFile(OpenPictureDialog1.FileName);
Jpg.SaveToStream(Ss);
Query1JPEG.AsString := Ss.DataString;
end
else
try
// if Pict.Graphic is TBitmap then
// begin
Jpg.Assign(Pict.Graphic);
Jpg.CompressionQuality := 70;
Jpg.PixelFormat:= jf24Bit;
Jpg.JPEGNeeded;
Jpg.SaveToStream(Ss);
Query1JPEG.AsString := Ss.DataString;
// end;
except
Result := MessageBox(Handle,'Данный формат не поддерживается!',PChar(Application.Title),16);
Query1.Cancel;
Exit;
end;
except
Result := MessageBox(Handle,'Данный формат не поддерживается!!',PChar(Application.Title),16);
Query1.Cancel;
Exit;
end;
// Ss.Free;
// Jpg.Free;
Query1.Post;
end;
end;

-------- выгрузка картинки из базы ------------------
procedure TFm_spMain.ASaveExecute(Sender: TObject);
begin
if SavePictureDialog1.Execute then
begin
Ms := TMemoryStream.Create;
Query1JPEG.SaveToStream(Ms);
Ms.Position := 0;
Jpg := TJpegImage.Create;
Jpg.LoadFromStream(Ms);
Jpg.SaveToFile(SavePictureDialog1.FileName);
Ms.Free;
Jpg.Free;
end;
end;
------------ просмотр картинки --------------------------------
procedure TFm_spMain.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Ss:= TStringStream.Create('');
Jpg:= TJPEGImage.Create;
try
if (Field = nil) and (not Query1JPEG.IsNull) then
begin
Ss.WriteString(Query1JPEG.AsString);
Ss.Position:= 0;
Jpg.LoadFromStream(ss);
Image1.Picture.Assign(Jpg);
end;
finally
Ss.Free;
Jpg.Free;
end;
end;
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / запись в базу графического файла больше 1мега
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]