|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
в файл cds сохраняется таблица кроме blob полей. замучался
есть 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 |