Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder и базы данных
Войти
Регистрация
Восстановить пароль
 
Stropores
0 / 0 / 0
Регистрация: 27.04.2009
Сообщений: 6
#1

Работа с TBlobField - C++ Builder БД

16.02.2010, 12:40. Просмотров 784. Ответов 0
Метки нет (Все метки)

Доброго времени суток!

Столкнулся со следующей проблемой. Работаю на C++ builder 6 с базой paradox над приложением, которое умееет загружать своего формата файлы данных, таким образом заполняются blob-поля в базе, затем из базы производится чтение этих самых blob-полей(используется функция Locate) и выводятся графики на экран. Отлично работает. Появилась задача возможности загрузки графики из двух файлов (графики одного, потом второго). Никак не соображу как мне переписать код.
У каждого файла есть номер(TripNum), который заносится в нужную таблицу в базе. При запуске приложения передаем номер в аргументах командной строки. Его использует функция Locate, она находит этот номер в базе и делает его текущим.. после этого все, что нужно, читается
Теперь же надо передавать два аргумента с соответственно двумя номерами файлов. Надеялся меня спасет написание следующей функции (прошу прощения за выдранный код, но приложение очень большое, лучше я отвечу на дополнительные вопросы)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TFormView::AssignBlobFields(TAxisValueMap* AxisValue){
  if (!FormMain->TableData->Locate("TripNum", ParamStr(3), TLocateOptions())) //TTable TableData
    throw Exception("Нет записи в таблице");
  AxisValue->BlobField[0] = FormMain->TableMapValue;  //из BlobField[0] я хотел бы читать первую часть графиков                                                                              //TTable TableMap
  if (ParamStr(2) == "Double"){ //хотим грузить два файла
    AxisValue->BlobCount = 2;
    if (!FormMain->TableData->Locate("TripNum", ParamStr(4), TLocateOptions()))
      throw Exception("Нет записи в таблице");
    AxisValue->BlobField[1] = FormMain->TableMapValue;//из BlobField[1] я хотел бы читать вторую часть графиков
  }
  else{
    AxisValue->BlobCount = 1;
    AxisValue->BlobField[1] = NULL;
  }
}


Dataset у всех таблиц обший. Таблицы связаны по TripNum. Но этот код не работает как я хочу. В FormMain->TableMapValue данные действительно меняются с вызовом Locate на нужные, но проблема в том, что при присвоении BlobField[1] в BlobField[0] данные меняются на такие же.. видимо происходит из-за совпадения адресов... Никак не пойму как это можно обойти (или принципиально сделать что-нибудь другое)

Буду признателен за любые советы по теме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2010, 12:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Работа с TBlobField (C++ Builder БД):

Ошибка с TBlobField
Здравствуйте! Пишу курсовой по дисциплине ТРПО(технология разработки ПО)....

[Error] : Undeclared identifier: 'TBlobField'
Помогите, выдает ошибку Unit6.pas(109): Undeclared identifier: 'TBlobField'

Как добавлять файлы в поля типа TBlobField?
Есть таблица, сделанная в Database Desktop. Есть программка в Delphi для работы...

Ошибка при загрузке графического файла в поле TBlobField
if opdAlbum.Execute then begin //sdsAlbumPHOTO - TBlobField ...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2010, 12:40
Привет! Вот еще темы с решениями:

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу...

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе,...

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в...

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru