Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизЧто за ощибка? Найти похожие ветки
← →
Xmen (2007-04-13 08:54) [0]Я создал 2 таблицы (мастер-детал) и соответственно их соеденил. Когда сделал обрашение к базе через грид ну типа скрол, переход в др. запись то он выдал ошибку.
"Access violation at address 00000000. Read of address 00000000"
Что это означает?
← →
Sergey13 © (2007-04-13 09:04) [1]Вариантов масса.
1. Плохо "создал 2 таблицы (мастер-детал)"
2. Плохо "соответственно их соеденил"
3. Плохо "сделал обрашение к базе"
4. Не через то "сделал обрашение к базе"
> Что это означает?
Это означает, что ты обратился к тому, чего нет.
← →
Xmen (2007-04-13 09:21) [2]ну тогда поподробние опишу.
создал таблицу ну основную и там конечно есть ID поля автоинкременант он создается через генератор и другие поля штук 6. А потом создал подчененую таблицу с полями ID, MAIN_ID и ещё полей 7 штук. Здесь MAIN_ID для связи с осн.таблицой на первой таблицы создал первычный ключ к полю ID на втором создал первычный ключ к полю ID и внещний ключ MAIN_ID (ID->MAIN_ID).
Открыл Дельфи в дата модуле положил Датабейс, транзакцию и два датасета (естественно для интербейса). В первом датасете в SelectSQL написал
select * from MAIN
генератор поля устоновил
ну апдейт поля сделал.
На втором датасете в SelectSQL написал
select * from KONTROL
where main_id=:id
генератор поля устоновил
ну апдейт поля сделал.
в onNEWRECORDE написал qrKontrol["main_id"]:=qrMain["id"];
в датасорсе установил датасорс первого Датасета. Потом сделал астивным все элементы.
Делаю компеляцию проги все без ощибки.
В форме есть дбгрид у него там датасоре написан датасорс первого датасета. В гриде все показывает нормално, но когда делаю бравз грида то тогда вылитает это ошибка.
← →
Sergey13 © (2007-04-13 09:33) [3]> [2] Xmen (13.04.07 09:21)
> но когда делаю бравз грида
Это как?
← →
Xmen (2007-04-13 09:42) [4]Ну на гриде перехожу от одной записи в другую.
← →
Sergey13 © (2007-04-13 10:14) [5]> [4] Xmen (13.04.07 09:42)
Я не понял, ты детальному датасету мастер-датасорс прописал?
← →
Xmen (2007-04-13 10:20) [6]Да прописал.
Я создал др. приложение и там попытался это сделать. Там мастер-детал получается. Туда поставил точно так Датабейс, транзакцию, 2 датасета, 2 датасорса, 2 грида. И соединил их. Там все работает все отлично. Но в самом проекте получаю ошибку. И еще когда убрал в проекте из значение датасорса детал датасета (не розарвал соединение), то прога не дает ошибку когда перехожу по гриду. Незнаю вчем там проблема?
← →
Jan1 (2007-04-13 10:25) [7]
> Да прописал.
> Я создал др. приложение и там попытался это сделать. Там
> мастер-детал получается. Туда поставил точно так Датабейс,
> транзакцию, 2 датасета, 2 датасорса, 2 грида. И соединил
> их. Там все работает все отлично. Но в самом проекте получаю
> ошибку. И еще когда убрал в проекте из значение датасорса
> детал датасета (не розарвал соединение), то прога не дает
> ошибку когда перехожу по гриду. Незнаю вчем там проблема?
>
Почисти экзепляры филдов.
← →
ЮЮ © (2007-04-13 10:25) [8]> И еще когда убрал в проекте из значение датасорса детал датасета (не розарвал соединение),
Пожалуй, то самое место, где по-русски не следует. Что у кого убрал? А в тестовом оставил?
А под отладчиком проанализировать место и причину ошибки пробовал?
← →
Sergey13 © (2007-04-13 10:29) [9]> [6] Xmen (13.04.07 10:20)
Какие есть обработчики у мастер-датасета? Нет ли там чего? Ну и отладчиком конечно можно найти.
← →
Xmen (2007-04-13 10:43) [10]
> Jan1 (13.04.07 10:25) [7]
>
>
> > Да прописал.
> > Я создал др. приложение и там попытался это сделать. Там
>
> > мастер-детал получается. Туда поставил точно так Датабейс,
>
> > транзакцию, 2 датасета, 2 датасорса, 2 грида. И соединил
>
> > их. Там все работает все отлично. Но в самом проекте получаю
>
> > ошибку. И еще когда убрал в проекте из значение датасорса
>
> > детал датасета (не розарвал соединение), то прога не дает
>
> > ошибку когда перехожу по гриду. Незнаю вчем там проблема?
>
> >
>
> Почисти экзепляры филдов.
Если это по поводу полей а Dataset1,2 то их занова создал.
> ЮЮ © (13.04.07 10:25) [8]
>
> > И еще когда убрал в проекте из значение датасорса детал
> датасета (не розарвал соединение),
> Пожалуй, то самое место, где по-русски не следует. Что у
> кого убрал? А в тестовом оставил?
> А под отладчиком проанализировать место и причину ошибки
> пробовал?
Ну это типа уменя есть 2 DataSet1 (Master) и DataSet2 (Detail) и кним DataSource1, DataSource2. Ну в DataSet2 (Detail) есть DataSource=DataSource1 (для связи мастер детаил). Когда это поля пустое то прога не даёт ошибку когда работаю в DBGrid e., но без мастер детаила.
> Sergey13 © (13.04.07 10:29) [9]
>
> > [6] Xmen (13.04.07 10:20)
>
> Какие есть обработчики у мастер-датасета? Нет ли там чего?
> Ну и отладчиком конечно можно найти.
Ничего там не прописан.
← →
ЮЮ © (2007-04-13 10:49) [11]Тогда, наверное, что-то прописано в обработчиках Detail, коль после отключения связи всё заработало без ошибок.
Отладчик, ИМХО, единственный способ локализовать ошибку, имено она чаще там, где её не ждещь.
← →
Xmen (2007-04-13 11:02) [12]
> ЮЮ © (13.04.07 10:49) [11]
>
> Тогда, наверное, что-то прописано в обработчиках Detail,
> коль после отключения связи всё заработало без ошибок.
>
> Отладчик, ИМХО, единственный способ локализовать ошибку,
> имено она чаще там, где её не ждещь.
Это как сделать?
С помощю F7 и F8?
← →
ЮЮ © (2007-04-13 11:26) [13]> С помощю F7 и F8?
Это даже лишнее. Ну если только 1 раз :). Ибо когда выскочит исключение, ты уже находишься в том месте, где оно и возникло.
Открой окно View > Debug Window > Call Stack и оглядись, как ты оказался в этом иетоде, с какими параметрами, должен был здесь оказаться, из-за чего в текущй строке мог возникнуть AV и т.д. и т.п.
P/S/Для большей информативности это лучше делать со включенной опцией Use Debug DCUs проекта
← →
Xmen (2007-04-13 16:54) [14]А может нужно Delphi переустоновить?
Дома это прога работал.
← →
Jan1 (2007-04-13 18:49) [15]
> А может нужно Delphi переустоновить?
а заодно и винду, а вдруг :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c