![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]ошибка приведения типов - без кода не разберешься