Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.12.2009, 03:12
tierline tierline вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 3
Репутация: 10
По умолчанию в файл cds сохраняется таблица кроме blob полей. замучался

есть ClientDataSet
таблица не диске в формате .cds
а runtime в dbGrid все записи отображаются корректно, в dbimage видит картинку из поля blob
корректно отрабатывается загрузка новой картинки в blob поле

но вот когда делаешь cds.SaveToFile(....) сохраняется все кроме blob полей.
в сети ответа так и не нашел
помогите
Ответить с цитированием
  #2  
Старый 03.12.2009, 17:54
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А в XML сохранить вера не позволяет?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 03.12.2009, 18:08
tierline tierline вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 3
Репутация: 10
По умолчанию

причем тут вера?
c xml тоже самое, в рантайме блобы добавляются, меняются, отображаются, но после cds.SaveToFile
пооже на глюк midas он не сбрасывает блобы из кеша в памяти в файл, будь он cds или xml
Ответить с цитированием
  #4  
Старый 03.12.2009, 20:09
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Не верю! Сейчас пойду тестить.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 03.12.2009, 20:31
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Врете вы все дяденька!
Код:
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  
Старый 04.12.2009, 00:08
tierline tierline вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 3
Репутация: 10
По умолчанию

Сударь, буду признателен, если укажете где что не так.
по ссылке заархивированная прога, убрал все лишнее.
запускаю у себя со своей midas.dll
табличку в рантайме ведет, bmp-шки загружает, но не сохраняет
гляньте, если не затруднит.
http://cinema.actuel.ru/ex/94_cds.zip
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter