Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизСамопроизвольная запись в таблицу DB??? Найти похожие ветки
← →
Pavor (2004-11-09 11:35) [0]Уважаемые профессионалы!
Не могу понять, в чем дело.
Есть база из пяти таблиц. Четыре из них - это наборы значений для пятой (на них ссылки из пятой будут, из таблицы TEST). Эти наборы "пристегнуты" кDBComboBox
, с их помощью значения выбираются. Добавляею новую запись в основную таблицу так:
DataModule2.TEST.Insert;//Добавляем новую запись
DataModule2.TEST.FieldByName("NameID").AsInteger:=NameID;
DataModule2.TEST.FieldByName("TypeID").AsInteger:=1;
DataModule2.TEST.FieldByName("DrwTypeID").AsInteger:=DrwType;
DataModule2.TEST.FieldByName("Designation").AsInteger:=DesignationID;
DataModule2.TEST.FieldByName("DrwNumber").AsString:=DrawingNumber;
DataModule2.TEST.FieldByName("Date").AsDateTime:=Date;
DataModule2.TEST.FieldByName("Time").AsDateTime:=Time;
DataModule2.TEST.Post;//Вносим изменения в базу
То есть, вспомогательные таблицы нигде не затрагиваю, однако в одной из них происходят изменения. К этой таблице я обращаюсь только для поиска поFindKey
. Во вспомогательные таблицы данные предварительно заносятся посредствомDBGrid
иDBNavigator
.
Понимаю, что, должно быть, картину дал не совсем полную... Но может кто уже сталкивался и поймет, в чем тут дело?
← →
Соловьев © (2004-11-09 11:53) [1]
> Эти наборы "пристегнуты" к DBComboBox, с их помощью значения
> выбираются.
Вообще-то все это делается через DBLookupCombobox или лукап-поля
← →
Pavor (2004-11-09 11:55) [2]Во вспомогательной таблице, первоначально (поле Item - в DBCombobox):
|Item1|Property11|Property21|Property31|
+--------------------------------------+
|Item2|Property12|Property22|Property32|
+--------------------------------------+
|Item3|Property13|Property23|Property33|
+--------------------------------------+
...
Допустим, в DBCombobox выбрано Item1, тогда
после записи в таблицу TEST обнаруживаем:
|Item1|Property11|Property21|Property31|
+--------------------------------------+
|Item1|Property12|Property22|Property32|
+--------------------------------------+
|Item3|Property13|Property23|Property33|
+--------------------------------------+
...
То есть каким-то непостижимым для меня образом выбранный элемент копируется в следующую по порядку запись, причем меняется только поле Item.
← →
Соловьев © (2004-11-09 12:08) [3]
>
> |Item1|Property11|Property21|Property31|
> +--------------------------------------+
> |Item1|Property12|Property22|Property32|
> +--------------------------------------+
> |Item3|Property13|Property23|Property33|
> +--------------------------------------+
> ...
А как Вы это видите?
← →
Pavor (2004-11-09 12:19) [4]Открываю
DBGrid
с этой таблицей, чтобы добавить в нее данные..
← →
ЮЮ © (2004-11-09 12:22) [5]DBComboBox преднозначен именно для корректировки записи НД.
И "Допустим, в DBCombobox выбрано Item1" скорей всего произведено над той записью, где было значение Item2 (иначе Item1 не надо было бы выбирать). В результате имеем то, что имеем и то, что и следовало ожидать, а не то, что желал увидеть ты
← →
Соловьев © (2004-11-09 12:26) [6]
> DataModule2.TEST.Insert;//Добавляем новую запись
>
> DataModule2.TEST.FieldByName("NameID").AsInteger:=NameID;
> DataModule2.TEST.FieldByName("TypeID").AsInteger:=1;
> DataModule2.TEST.FieldByName("DrwTypeID").AsInteger:=DrwType;
> DataModule2.TEST.FieldByName("Designation").AsInteger:=DesignationID;
> DataModule2.TEST.FieldByName("DrwNumber").AsString:=DrawingNumber;
> DataModule2.TEST.FieldByName("Date").AsDateTime:=Date;
> DataModule2.TEST.FieldByName("Time").AsDateTime:=Time;
>
> DataModule2.TEST.Post;//Вносим изменения в базу
Или Тест и эта справочная аблица одно и то же. Или вы не привели еще добрый кусок кода.
← →
Pavor (2004-11-09 12:44) [7]2 ЮЮ:
Скорее всего, в этом все и дело :)
Первый раз с базами что-то пишу, все-таки, так что строго не судите.
2 Соловьев:
Конечно, тут не весь код целиком, наверное много бы слишком получилось и было бы читать тяжело.
Всем спасибо, буду разбираться сDBCombobox
.. Ну а если опять не получится - я еще вернусь :))
← →
ЮЮ © (2004-11-09 12:53) [8]>Всем спасибо, буду разбираться с DBCombobox..
Возьми DBLookupCombo и не заполняй DataSource + DataField, а ListSource + все с ним связанное
Или обычный ComboBox, т.к. код по его заполнению у тебя, очевидно, уже есть
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c