C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Данные пишутся в другую таблицу !!!
Basilak
Отправлено: 13.01.2005, 14:52


Ученик-кочегар

Группа: Участник
Сообщений: 5



Помогите разобраться.
Вроде стандартная задача, но поставила меня в тупик sad.gif .
Одна большая основная таблица Table1 должна заполняться из множества мелких Table2 ... TableN посредством выбора значений из DBComboBox'ов.
DBComboBox'ы связаны с мелкими таблицами, а те в свою очередь с основной через MasterSource.
При попытке записать данные

Table1->Edit();
Table1Field2->AsString = DBComboBox2->Text;
Table1->Post();

они записываются в Table2 !!!

Вроде, индексы и поля везде прописаны. База Paradox.
olegenty
Отправлено: 13.01.2005, 15:01


Ветеран

Группа: Модератор
Сообщений: 2412



ты что-то где-то успешно напутал в соединении Master/Detail
да и при первом взгляде кажется, что ты попутал Master/Detail с Lookup...
AVC
Отправлено: 13.01.2005, 15:07


Ветеран

Группа: Модератор
Сообщений: 1583



Не люблю предвариттельно созданных полей.
Попробуйте написать так
Table1->FieldByName("Field2")->AsString = DBComboBox2->Text;
Basilak
Отправлено: 13.01.2005, 16:10


Ученик-кочегар

Группа: Участник
Сообщений: 5



Table1->FieldByName("Field2")->AsString = DBComboBox2->Text; проблемы не вылечил.

Я, в принципе, и сам понимаю что напутал в Master/Detail, но наверное, не до конца понимаю работу этой связки.
Если совсем убрать эту связь, то данные заносятся нормально, но теряется связь Table1 — DBComboBox2.
Если Master и Detail поменять местами, то все работает, но как связать Table1 с другими таблицами?
avc*
Отправлено: 13.01.2005, 16:31


Не зарегистрирован







Если
Table1->FieldByName("Field2")->AsString = some_text
все равно пишет в Table2, то значит у вас компонентом Table1 открыта таблица Table2

Вернуться в Работа с базами данных в C++Builder