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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2009, 14:20   #1
CoCoS
Пользователь
 
Аватар для CoCoS
 
Регистрация: 08.04.2009
Сообщений: 12
По умолчанию Недоусекаю

Форумчане помогите плиз. Хочу в БЛОБ поле поместить документ, но не получается нифига что делать?
ВОт код
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, Grids, DBGrids, DB, StdCtrls, DBCtrls;

type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1: TADOTable;
Button1: TButton;
DBMemo1: TDBMemo;
ADOTable1DSDesigner: TWideStringField;
ADOTable1DS: TBlobField;
ADOTable1DSDesigner3: TWideStringField;
ADOTable1DSDesigner4: TIntegerField;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

ADOTable1.Insert;
aDOTable1DS.LoadFromFile('Ýêîíîìèê. doc');
TBlobField(ADOTable1.FieldByName('D S')).LoadFromFile('Ýêîíîìèêà.doc');
ADOTable1.Post;

end;


end.
CoCoS вне форума Ответить с цитированием
Старый 30.04.2009, 14:23   #2
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

а если поискать на форуме?
фЁдОр вне форума Ответить с цитированием
Старый 30.04.2009, 14:26   #3
CoCoS
Пользователь
 
Аватар для CoCoS
 
Регистрация: 08.04.2009
Сообщений: 12
По умолчанию

Да в том то и дело, что с форума прочитал.
CoCoS вне форума Ответить с цитированием
Старый 30.04.2009, 14:27   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Код:
var
  S: TBlobStream;
  B: pointer;
  c: integer;

...

  Table1.Edit;
  S := TBlobStream.Create(Table1BlobField as TBlobField, bmWrite); {кажется, так}
  C := S.write(B, C);
  Table1.Post;
  S.Destroy;

или так 
var
  S: TMemoryStream;
  B: pointer;
  C: integer;

...

S := TMemoryStream.Create;

...

  Table1.Edit;
  S.Clear;
  S.SetSize(C);
  C := S.write(B,C);
  (Table1BlobField as TBlobField).LoadFromStream(S);
  S.Clear;
  Table1.Post;

...

S.Destroy;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 30.04.2009, 14:38   #5
CoCoS
Пользователь
 
Аватар для CoCoS
 
Регистрация: 08.04.2009
Сообщений: 12
По умолчанию

Этот код я уже видел спасибо за копирайт.
Но не получается тоже
CoCoS вне форума Ответить с цитированием
Старый 30.04.2009, 14:42   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Цитата:
Этот код я уже видел спасибо за копирайт.
Ну я же не знаю, что Вы видели, а что нет)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 30.04.2009, 15:34   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
aDOTable1DS.LoadFromFile('Экономик. doc');
Ну это думаю лишнее...
Код:
TBlobField(ADOTable1.FieldByName('DS')).LoadFromFi le('Экономика.doc');
Этого должно хватить...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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