Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.046 c
2-1176534590
vegarulez
2007-04-14 11:09
2007.05.06
Как правильно "растянуть" рисунок на кнопке?


15-1175792926
Real
2007-04-05 21:08
2007.05.06
Вопрос к администрации


2-1176487177
I-New
2007-04-13 21:59
2007.05.06
Вопрос про диалог сохранения файла


2-1176724292
XTD
2007-04-16 15:51
2007.05.06
Программа для Linux’a


15-1176279768
homm
2007-04-11 12:22
2007.05.06
DMClient bugreport





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