Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.06;
Скачать: CL | DM;

Вниз

Что за ощибка?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.022 c
15-1175712277
Real
2007-04-04 22:44
2007.05.06
Bug TCP/IP


15-1176060159
Суслик
2007-04-08 23:22
2007.05.06
Дайте модуль grids.pas от д7 или д6


15-1175862331
Vlad Oshin
2007-04-06 16:25
2007.05.06
Понимаю, что не в пятницу после обеда, но хелп сбился, подскажите


2-1176896692
deras
2007-04-18 15:44
2007.05.06
Как найти файлы?


3-1171435004
DimonS
2007-02-14 09:36
2007.05.06
Обновление БД Access