Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.47 MB
Время: 0.034 c
1-1101313562
Ilg
2004-11-24 19:26
2004.12.05
Variable Name Expected


8-1094407602
IRYS
2004-09-05 22:06
2004.12.05
Preview mode для ScreenSaver a


14-1100534465
vasilii
2004-11-15 19:01
2004.12.05
profiler для Delphi7


1-1101017406
Новичек
2004-11-21 09:10
2004.12.05
Одно меню PopUp для двух объектов.


3-1099901798
Victor!
2004-11-08 11:16
2004.12.05
Импорт Paradox в SQL Server





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский