![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
есть ClientDataSet
таблица не диске в формате .cds а runtime в dbGrid все записи отображаются корректно, в dbimage видит картинку из поля blob корректно отрабатывается загрузка новой картинки в blob поле но вот когда делаешь cds.SaveToFile(....) сохраняется все кроме blob полей. в сети ответа так и не нашел ![]() помогите |
|
#2
|
||||
|
||||
|
А в XML сохранить вера не позволяет?
|
|
#3
|
|||
|
|||
|
причем тут вера?
c xml тоже самое, в рантайме блобы добавляются, меняются, отображаются, но после cds.SaveToFile пооже на глюк midas он не сбрасывает блобы из кеша в памяти в файл, будь он cds или xml |
|
#4
|
||||
|
||||
|
Не верю! Сейчас пойду тестить.
|
|
#5
|
||||
|
||||
|
Врете вы все дяденька!
Код:
unit Unit38;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, StdCtrls, DBClient, ExtDlgs, DBCtrls;
type
TForm38 = class(TForm)
ClientDataSet1: TClientDataSet;
ClientDataSet1id: TAutoIncField;
ClientDataSet1Picture: TBlobField;
ClientDataSet1Comment: TStringField;
btnLoad: TButton;
btnSave: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBImage1: TDBImage;
OpenPictureDialog1: TOpenPictureDialog;
procedure btnLoadClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure DBImage1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form38: TForm38;
implementation
{$R *.dfm}
procedure TForm38.btnLoadClick(Sender: TObject);
begin
try
ClientDataSet1.LoadFromFile('c:\test.xml');
except
ClientDataSet1.CreateDataSet;
end;
ClientDataSet1.Open;
end;
procedure TForm38.btnSaveClick(Sender: TObject);
begin
ClientDataSet1.SaveToFile('c:\test.xml',dfXML);
end;
procedure TForm38.DBImage1Click(Sender: TObject);
begin
if not OpenPictureDialog1.Execute then Exit;
ClientDataSet1.Edit;
TBlobField(ClientDataSet1.FieldByName('Picture')).LoadFromFile(OpenPictureDialog1.FileName);
ClientDataSet1.Post;
end;Код:
object Form38: TForm38
Left = 0
Top = 0
Caption = 'Form38'
ClientHeight = 164
ClientWidth = 415
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object btnLoad: TButton
Left = 334
Top = 8
Width = 75
Height = 25
Caption = 'Load'
TabOrder = 0
OnClick = btnLoadClick
end
object btnSave: TButton
Left = 334
Top = 40
Width = 75
Height = 25
Caption = 'Save'
TabOrder = 1
OnClick = btnSaveClick
end
object DBGrid1: TDBGrid
Left = 8
Top = 8
Width = 320
Height = 148
DataSource = DataSource1
TabOrder = 2
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
Columns = <
item
Expanded = False
FieldName = 'id'
Visible = True
end
item
Expanded = False
FieldName = 'Picture'
Visible = True
end
item
Expanded = False
FieldName = 'Comment'
Width = 157
Visible = True
end>
end
object DBImage1: TDBImage
Left = 334
Top = 71
Width = 73
Height = 85
DataField = 'Picture'
DataSource = DataSource1
Proportional = True
Stretch = True
TabOrder = 3
OnClick = DBImage1Click
end
object ClientDataSet1: TClientDataSet
Active = True
Aggregates = <>
Params = <>
Left = 144
Top = 24
Data = {
910000009619E0BD010000001800000003000000000003000000910002696404
0001000000010007535542545950450200490008004175746F696E6300075069
637475726504004B0000000100075355425459504502004900070042696E6172
790007436F6D6D656E7401004900000001000557494454480200020032000100
0C4155544F494E4356414C55450400010001000000}
object ClientDataSet1id: TAutoIncField
FieldName = 'id'
end
object ClientDataSet1Picture: TBlobField
FieldName = 'Picture'
end
object ClientDataSet1Comment: TStringField
FieldName = 'Comment'
Size = 50
end
end
object DataSource1: TDataSource
DataSet = ClientDataSet1
Left = 144
Top = 72
end
object OpenPictureDialog1: TOpenPictureDialog
Left = 352
Top = 80
end
end |
|
#6
|
|||
|
|||
|
Сударь, буду признателен, если укажете где что не так.
по ссылке заархивированная прога, убрал все лишнее. запускаю у себя со своей midas.dll табличку в рантайме ведет, bmp-шки загружает, но не сохраняет гляньте, если не затруднит. http://cinema.actuel.ru/ex/94_cds.zip |