Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

Не могу вносить данные в НД   Найти похожие ветки 

 
Spawn   (2003-07-13 07:38) [0]

Есть три таблицы, соединенные как "один ко многим", каждая из них подключена к отдельной DBGrid. Проблема в том, что при подключении к серверу я не могу редактировать данные гридов. То есть фокус ячейка получает, но реакции на внесение данных ни какой. Хотя в еще одной таблице, находящейся на другом TabSheet, все ок .В чем может быть дело? Заранее спасибо.


 
Alexandr   (2003-07-13 08:47) [1]

в запросах на изменение


 
Spawn   (2003-07-13 09:07) [2]

Я вообще не могу вводить данные в сетку. Фокус ячейки получают но реакции на ввод данных ни какой. Как будто в OnKeyDown Key сьавится в 0.


 
Alexandr   (2003-07-13 09:33) [3]

ну нельзя редактировать DataSet
почему?
1) через какие компоненты работаешь?
2) запросы на изменение прописал? Правильно?

и прочее...
ну не может оно само.


 
Spawn   (2003-07-13 10:04) [4]

Использую InterBase(компоненты IBDataBase+IBTransaction+IBDataSet+DataSource, для связанных таблиц свои IBDataSet и DataSource. В IBDataSet-ах сылки на DataSource связанных таблиц). Запросы сгенерированны IBDataSet.


 
VID   (2003-07-14 00:57) [5]

варианты:
рид онли полей
рид онли грида
наличие update-sql у всех датасетов
свойство AutoEdit у датасоурсов
... пока что в голову больше ничего не пришло ...


 
Spawn   (2003-07-14 12:23) [6]

Ни как не могу понять в чем проблема :((.

Вот так построена гланая таблица

/* Table: EQUAL, Owner: SYSDBA */

CREATE TABLE "EQUAL"
(
"ID" INTEGER NOT NULL,
"NAME" VARCHAR(100) CHARACTER SET WIN1251,
"TYPES" VARCHAR(100) CHARACTER SET WIN1251,
"PICTURE" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"MNAME" VARCHAR(100) CHARACTER SET WIN1251,
"MFORM" CHAR(50) CHARACTER SET WIN1251,
"MSITY" CHAR(50) CHARACTER SET WIN1251,
"SUPPLER" VARCHAR(100) CHARACTER SET WIN1251,
"SERTIF" VARCHAR(100) CHARACTER SET WIN1251,
"INTTYPE" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"PASPORT" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"METHOD" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"OBJECT" VARCHAR(150) CHARACTER SET WIN1251,
"MVI" CHAR(50) CHARACTER SET WIN1251,
"PWORK" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"SIZES" CHAR(50) CHARACTER SET WIN1251,
"CHECKINERV" CHAR(100) CHARACTER SET WIN1251,
"CHECKING" CHAR(50) CHARACTER SET WIN1251,
"MONEY" CHAR(50) CHARACTER SET WIN1251,
PRIMARY KEY ("ID")
);


С ней связана Params:

/* Table: PARAMS, Owner: SYSDBA */

CREATE TABLE "PARAMS"
(
"PID" INTEGER NOT NULL,
"ID" INTEGER NOT NULL,
"PARAM" CHAR(50) CHARACTER SET WIN1251,
"DIAPASONS" CHAR(50) CHARACTER SET WIN1251,
"ERROR" CHAR(50) CHARACTER SET WIN1251,
PRIMARY KEY ("PID")
);
ALTER TABLE "PARAMS" ADD FOREIGN KEY ("ID") REFERENCES EQUAL ("ID") ON UPDATE CASCADE ON DELETE NO ACTION;


C этой таблицей связана SubDiapasons:

/* Table: SUBDIAPASONS, Owner: SYSDBA */

CREATE TABLE "SUBDIAPASONS"
(
"SUBID" INTEGER NOT NULL,
"DIAPASONS" CHAR(50) CHARACTER SET WIN1251,
"SUBERROR" CHAR(50) CHARACTER SET WIN1251,
"ESOURCE" CHAR(50) CHARACTER SET WIN1251,
"ESIZE" CHAR(50) CHARACTER SET WIN1251
);
ALTER TABLE "SUBDIAPASONS" ADD FOREIGN KEY ("SUBID") REFERENCES PARAMS ("PID") ON UPDATE CASCADE ON DELETE NO ACTION;


Для них добавляю три DBGrid-а, IBDataSet-а, DataSource-а. В IBDataSet2.DataSource>DataSource1. В IBDataSet3.DataSource>DataSource2. Для всех IBDataSet-ов генерирую запросы Editor-ом для соответствующих таблиц (Equal, Params, SubDiapasons). Во всех DBGrid-ах ReadOnly стоит в False, в Options.dgEditing=True. Свойство AutoEdit у DataSource-ов в True. Для Гридов созданы колумны. У всех ReadOnly=False;
При всех этих данных я не могу редактировать данные в DBGrid. Причем, делал такую проверку - подключал лишь первую таблицу - тот же еффект. В чем может быть дело?


 
Spawn   (2003-07-14 12:24) [7]

Ни как не могу понять в чем проблема :((.

Вот так построена гланая таблица

/* Table: EQUAL, Owner: SYSDBA */

CREATE TABLE "EQUAL"
(
"ID" INTEGER NOT NULL,
"NAME" VARCHAR(100) CHARACTER SET WIN1251,
"TYPES" VARCHAR(100) CHARACTER SET WIN1251,
"PICTURE" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"MNAME" VARCHAR(100) CHARACTER SET WIN1251,
"MFORM" CHAR(50) CHARACTER SET WIN1251,
"MSITY" CHAR(50) CHARACTER SET WIN1251,
"SUPPLER" VARCHAR(100) CHARACTER SET WIN1251,
"SERTIF" VARCHAR(100) CHARACTER SET WIN1251,
"INTTYPE" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"PASPORT" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"METHOD" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"OBJECT" VARCHAR(150) CHARACTER SET WIN1251,
"MVI" CHAR(50) CHARACTER SET WIN1251,
"PWORK" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"SIZES" CHAR(50) CHARACTER SET WIN1251,
"CHECKINERV" CHAR(100) CHARACTER SET WIN1251,
"CHECKING" CHAR(50) CHARACTER SET WIN1251,
"MONEY" CHAR(50) CHARACTER SET WIN1251,
PRIMARY KEY ("ID")
);


С ней связана Params:

/* Table: PARAMS, Owner: SYSDBA */

CREATE TABLE "PARAMS"
(
"PID" INTEGER NOT NULL,
"ID" INTEGER NOT NULL,
"PARAM" CHAR(50) CHARACTER SET WIN1251,
"DIAPASONS" CHAR(50) CHARACTER SET WIN1251,
"ERROR" CHAR(50) CHARACTER SET WIN1251,
PRIMARY KEY ("PID")
);
ALTER TABLE "PARAMS" ADD FOREIGN KEY ("ID") REFERENCES EQUAL ("ID") ON UPDATE CASCADE ON DELETE NO ACTION;


C этой таблицей связана SubDiapasons:

/* Table: SUBDIAPASONS, Owner: SYSDBA */

CREATE TABLE "SUBDIAPASONS"
(
"SUBID" INTEGER NOT NULL,
"DIAPASONS" CHAR(50) CHARACTER SET WIN1251,
"SUBERROR" CHAR(50) CHARACTER SET WIN1251,
"ESOURCE" CHAR(50) CHARACTER SET WIN1251,
"ESIZE" CHAR(50) CHARACTER SET WIN1251
);
ALTER TABLE "SUBDIAPASONS" ADD FOREIGN KEY ("SUBID") REFERENCES PARAMS ("PID") ON UPDATE CASCADE ON DELETE NO ACTION;


Для них добавляю три DBGrid-а, IBDataSet-а, DataSource-а. В IBDataSet2.DataSource>DataSource1. В IBDataSet3.DataSource>DataSource2. Для всех IBDataSet-ов генерирую запросы Editor-ом для соответствующих таблиц (Equal, Params, SubDiapasons). Во всех DBGrid-ах ReadOnly стоит в False, в Options.dgEditing=True. Свойство AutoEdit у DataSource-ов в True. Для Гридов созданы колумны. У всех ReadOnly=False;
При всех этих данных я не могу редактировать данные в DBGrid. Причем, делал такую проверку - подключал лишь первую таблицу - тот же еффект. В чем может быть дело?


 
Spawn   (2003-07-14 12:24) [8]

Блин (( Сорри. Из за глюка експлорера 2 раза запостил.


 
MsGuns   (2003-07-14 13:09) [9]

Для того, чтобы изменения в гридах были доступны, надо прописать в датасетах запросы на удаление-вставку-изменение. Во всех ! При этом для того, чтобы при удалении записи из мастера удалялись все ее "детки", надо либо определить соотв.триггер или каскадное удаление-изменение.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.022 c
9-10072
Двоешник
2003-02-06 09:55
2003.08.04
Формулы


3-10144
DBDev
2003-07-11 15:40
2003.08.04
Проблемы с использованием dtsrun-a с клиентских машин!


14-10428
tlwlite
2003-07-18 00:39
2003.08.04
подскажите html редактор какой-нить.


14-10383
Knight
2003-07-16 21:53
2003.08.04
Свободу действий модераторам!!!


7-10468
Raduga
2003-05-22 15:24
2003.08.04
Как определить размер памяти занимаемой программой из самой прогр





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский