Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO [D7, Access]


Barman ©   (2003-05-09 14:45:00) 

Господа программисты, помогите советом!

Использую компоненты ADO. При компиляции никаких ошибок не выскакивает (Ctrl+F9), код без ошибок компилируется,приложение нормально запускается. При попытке отладки программы (F9) выскакивает ошибка "could not convert variant of type(Null) into type (String)"
Что это за ошибка и как от нее избавиться?


WarLord   (2003-05-10 22:47:00) [1]

17 строка - это шо? Application.Run ? :)))


Anatoly Podgoretsky   (2003-05-10 21:46:00) [2]

Если ошибка только при отладке, то это проблема отладчика, а иначе ошибка в 17 строке.


Лесник   (2003-05-10 20:08:00) [3]

sniknik ©
У меня на 6 дельфи именно такая ошибка выскакивала, когда была пустая таблица. НОтолько в том случае когда ОДНО или несколькополей связаны с EDIT"AMI (не DBEdit а именно Edit) поэтому он и ругается что не может переконвертировать пустое значение (null) в строку


sniknik   (2003-05-10 01:06:00) [4]

Лесник © (09.05.03 23:11)
у него же нет никаких присваиваний
> ADOTable.Active:= True; - вот и весь код.
весьма надо сказать краткий и лаконичный. :о))

а когда нет ни одной записи это ошибка EOF & BOF, весьма распространенная в пятом дельфи без апгрейда но тут седьмой.
не, для диагноза данных явно недостаточно.


Лесник   (2003-05-09 23:11:00) [5]

А по моему эта ошибка выскакивает только тогда когда в НД нет НИОДНОЙ записи, т.е. таблица пустая. Ставишь обработку If(EmplQuery.FieldValues[EmployeeName]=null)then Edit1.Text:="";
Или вставь в таблицу какие нибудь данные, чтобы не было пустых полей и тогда проверь.
Надеюсь помогло.


sniknik   (2003-05-09 16:35:00) [6]

ну это же явно не все, что у тебя в компонентах стоит, в редакторах свойств обьявлено, может в гриде столбцы определены а поля а таблице поменялись. вариантов много.

могу совет дать. включи в опциях проэкта Use Debug DSUs и пройдись по коду ADOTable.Active:= True по F7, увидиш что не все так просто а заодно и поточнее локализуеш ошибку.


Barman   (2003-05-09 16:25:00) [7]

2 sniknik

ADOTable.Active:= True; - вот и весь код.


sniknik   (2003-05-09 16:05:00) [8]

очень подробно
http://podgoretsky.com/ftp/Language/nps/idioms.html


Tolik1   (2003-05-09 16:04:00) [9]

По своему опыту могу посоветовать использовать Try .. except .. end.
И делать явное присваивание "" строковым полям при добавлении (изиенении). А при запуске из оболочке D будет материться все равно, т.к. возникает исключительная ситуация.


Barman   (2003-05-09 15:55:00) [10]

А поподробнее можно?


sniknik   (2003-05-09 15:50:00) [11]

почему не разберешся? точно знаю ошибка в 17 строке.


WarLord   (2003-05-09 15:34:00) [12]

ошибка приведения типов - без кода не разберешься


Наверх

Титульная страница Поиск, карта сайта Написать письмо