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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2012, 22:37   #1
Yo_Asakyra
 
Регистрация: 17.12.2011
Сообщений: 4
Вопрос БД Interbase работает странно.

Добрый день.
Возникла мистическая ситуация:
При записи данных в БД все поля кроме BLOB (ArrayOfCRC указан как WideString т.к. заношу в него строку) заносятся нормально, а данные в BLOB поле заносятся непонятно по каким правилам.
Например: Заношу 6 записей в БД, у некоторых BLOB заполнен, а у некоторых - нет.
Помогите разобраться

Работаю через FIB+ компоненты. В частности TpFIbDataBase, TpFiBDataSet и TpFIbTransaction.
Приведённым ниже кодом я заполняю БД (Interbase, созданная в InterBase & FireBird Manager'e 3.3.0.2).
Функции ExtractFileNameEx и CteateCRCArray работают корректно.
P.S. в View дебагера смотрел "ParamByName('ArrayOfCRC').AsWideSt ring" тоже все работает нормально.
Код:
procedure TMainForm.InsertIntODBClick(Sender: TObject);
var
  vTextLengh : Word;
begin
  with DataModuleX.DataSet do
    try
      close;
      if not prepared then 
        Prepare;
      with DataModuleX.DataSet.QInsert do
        Try
          ParamByName('NameOfText').AsString := (FileOpen.Dialog.FileName, True); 
          ParamByName('ArrayOfCRC').AsWideString := CteateCRCArray(GlobalCanonizedText, 980, Configuration.WordsInShingle.Value, Configuration.NormalDoc.Checked); 
          ParamByName('TextLength').AsInteger := vTextLengh;
          ExecQuery;
        finally
          QInsert.Params.ClearValues;
          DataModuleX.MainTransaction.Commit;
        end;
    Except 
      on E : Exception do
        ShowMessage(E.ClassName+' Ошибка'+E.Message);
    End;
End;
Структура БД
TextId - Первичный ключ.
NameOfText - Уникальный.

Последний раз редактировалось Yo_Asakyra; 25.05.2012 в 23:34.
Yo_Asakyra вне форума Ответить с цитированием
Старый 27.05.2012, 23:58   #2
Yo_Asakyra
 
Регистрация: 17.12.2011
Сообщений: 4
По умолчанию

Неужеи никто не сталкивался подобным явлением? Хотябы предположительные вырианты...
Yo_Asakyra вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строки в StringGrid работает как-то странно. Turboworld Общие вопросы Delphi 3 25.04.2011 09:04
странно работает RegSetValueEx di91 Win Api 4 07.11.2010 15:27
не работает запрос для interbase Domanoff БД в Delphi 24 19.04.2010 20:10
скрит работает в interbase а в FireBird выдает ошибку NikK1 БД в Delphi 9 13.04.2010 18:07
Странно работает эзешник на другом компьютере runtimeLibrary(Multi-threaded (/MT) LostSoul Общие вопросы C/C++ 11 20.04.2009 23:25