Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 03:38   #1
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию blob поля delphi 7 работает в delphi 2010 нет

Здравствуйте у меня проблема тот код который раньше работал в D7 не работает в D 2010
пример кода
Код:
procedure TForm6.BitBtn19Click(Sender: TObject);
var
  blob: TBlobStream;
  fs: TmemoryStream;
begin
  blob := DataModule3.ADOTable3.CreateBlobStream(DataModule3.ADOTable3.FieldByName('Доп-док'), bmWrite);// bmWrite) подчеркивает не нравиться чавойто 
  try
    blob.Seek(0, soFromBeginning);
    fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or
      fmShareDenyWrite);
    try
      blob.CopyFrom(fs, fs.Size)
    finally
      fs.Free
    end;
  finally
    blob.Free
  end;
end;

var
      Stream : TMemoryStream ;
begin
 if OpenDialog1.Execute then
begin
   Stream := TMemoryStream.Create ;
   DataModule3.adotable3.Edit ;
   Stream.LoadFromFile(OpenDialog1.FileName);
   TBlobField(DataModule3.adotable3.FieldByName('Доп-док')).LoadFromStream(Stream) ;// TBlobField вообще не знает что это такое  
   DataModule3.adotable3.Post ;
   Stream.Free ;
end;
end;
на картинках ошибки в делфи помогите пожалуйста хоть советом ..



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это КНОПОЧКА с решёточкой #)
Не забывайте об этом!
Модератор.
Изображения
Тип файла: jpg Безымянныйммсмсмс.jpg (122.2 Кб, 144 просмотров)
Тип файла: jpg Безымянный565656.jpg (128.0 Кб, 144 просмотров)

Последний раз редактировалось Serge_Bliznykov; 11.03.2012 в 08:19.
reihtmonbern вне форума Ответить с цитированием
Старый 28.02.2015, 20:44   #2
Novic
Новичок
Джуниор
 
Регистрация: 28.02.2015
Сообщений: 1
По умолчанию Рабочий код загрузки файла в БД для новых версий Delphi

Для таких же новичков, как я, вариант рабочего кода для загрузки файла в БД.

Версия: Delphi XE4
БД: Mysql
Предупреждение: поле, в которое записывается файл, должно быть типа blob; не загружаются файлы типа .pdf, .djvu, .mp3 и т. п., файлы Word, txt записываются без проблем.

Рабочий код:

Код:
procedure TForm6.Button6Click(Sender: TObject);
var  blob: Tstream;
  fs: Tfilestream;
begin
 if OpenDialog1.Execute then
  form2.ZTable1.Edit; // Вместо ZTable используем свой компонент подключения к таблице БД; заменить на свой компонент на протяжении всего кода
  
blob:= form2.Ztable1.createBlobStream(form2.ZTable1.FieldByName('elbook'), bmWrite); // В FieldByName('указываем название поля, в которое будет записываться файл')
   try
 blob.Seek(0, soFromBeginning);
   fs := TfileStream.create(opendialog1.FileName, fmShareDenyWrite );
     try
blob.CopyFrom(fs, fs.Size) ;
blob.writedata(fs, fs.Size) ;
    finally
      fs.Free
end;
 finally
blob.Free
  end;
  form2.ZTable1.post;
end;
Novic вне форума Ответить с цитированием
Старый 28.02.2015, 21:01   #3
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
from--> reihtmonbern Здравствуйте у меня проблема тот код который раньше работал в D7 не работает в D 2010
пример кода
А у вас какой СУБД и какой тип поля 'Доп-док' ?
Цитата:
From---> Novic
Версия: Delphi XE4
Предупреждение: поле, в которое записывается файл, должно быть типа blob;
Вы сначало почитайте про ТИП ПОЛЯ blob

* TINYBLOB - может хранить до 255 байт
* BLOB - может хранить до 64 килобайт информации
* MEDIUMBLOB - до 16 мегабайт
* LONGBLOB - до 4 гигабайт
Цитата:
БД: Mysql
Mysql Это НЕ БД ! это СУБД

Последний раз редактировалось xxbesoxx; 28.02.2015 в 21:40.
xxbesoxx вне форума Ответить с цитированием
Старый 28.02.2015, 21:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
reihtmonbern
А в uses модуль DB присутствует?
Цитата:
не загружаются файлы типа .pdf, .djvu, .mp3 и т. п.
Что за нонсенс?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.02.2015, 22:07   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
reihtmonbern
Больше года на форуме не был А посту ТС так вообще скоро три года
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 28.02.2015 в 22:09.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает Delphi 2010, XE. Чиполлино Общие вопросы Delphi 4 30.12.2011 01:26
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
кто может объяснить,почему на моем компе программа работает на других нет?код в Delphi Symba Общие вопросы Delphi 1 24.03.2011 01:03
Одна кнопка работает, другая нет (добавление записей в БД из среды Delphi) ulala Помощь студентам 2 25.09.2010 19:08
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54