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

Вниз

ADO   Найти похожие ветки 

 
Barman ©   (2003-05-09 14:45) [0]

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

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


 
WarLord ©   (2003-05-09 15:34) [1]

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


 
sniknik ©   (2003-05-09 15:50) [2]

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


 
Barman ©   (2003-05-09 15:55) [3]

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


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

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


 
sniknik ©   (2003-05-09 16:05) [5]

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


 
Barman ©   (2003-05-09 16:25) [6]

2 sniknik

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



 
sniknik ©   (2003-05-09 16:35) [7]

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

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


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

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


 
sniknik ©   (2003-05-10 01:06) [9]

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

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


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

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


 
Anatoly Podgoretsky ©   (2003-05-10 21:46) [11]

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


 
WarLord ©   (2003-05-10 22:47) [12]

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



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-94848
Duke DEE
2003-05-19 18:43
2003.05.29
Последовательность в if then else


14-95126
PKK
2003-05-12 17:15
2003.05.29
bignum,


3-94759
gizar
2003-05-07 16:58
2003.05.29
Lookup


1-94905
sevylor
2003-05-17 05:27
2003.05.29
OS


3-94711
Фагот
2003-05-07 12:01
2003.05.29
IBExpert