Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

Could not convert variant of type (Null) into type (String)   Найти похожие ветки 

 
Lexa   (2005-06-08 21:41) [0]

Имеется ADOConnection, связанная с ним ADOTable, с которой связана DataSource, на которую ссылается DBGrid. После выполнения
ADOConnection.open();
ADOTable.open;
во второрой строке возникает ошибка "Project XXXX.exe raised exception class EVariantTypeCastError with message "Could not convert variant of type (Null) into type (String)". Process stoped". Причем после нажатия на F9 работа продолжается вполне нормально, DBGrid правильно отображает необходимые данные. В чем может быть дело???


 
ANB ©   (2005-06-08 22:58) [1]

Чего то ты намутил с настройками. Либо строки коннекта, либо в настройках поля. Кстати, а БД какая ? Я только что над ораклом поизгалялся твоим способом - ну не ругается на Null.


 
Anatoly Podgoretsky ©   (2005-06-08 23:08) [2]

Да у него напутано в программе.


 
ЮЮ ©   (2005-06-09 05:25) [3]

>Причем после нажатия на F9 работа продолжается вполне нормально

Следует нажимать F8(F7) чтобы оставаться в коде обработчмка, где возникло исключение или посмотреть стэк вызовов. Другими словами, отлаживать программу надо.

С другой стороны, если приложение не упало, значит есть обработка try ... except. Если в твоем коде, то можно избежать лишнего exception, если в глубинах VCL - смириться


 
Lexa   (2005-06-09 10:29) [4]

У меня бд Access. Что я что то с настройками напутал я и сам понимаю, а какие именно настройки? Приследуется цель чтения некоторых таблиц из БД, если для этого можно обойтись меньшим числом компонентов, то подскажите , пожалуйста, как. При отладке по F7 ошибка возникает в строке ADOTable.open, значит напутал именно в его свойствах.

>С другой стороны, если приложение не упало, значит есть >обработка try ... except

Такой обработки в тексте программы нет.


 
bon ©   (2005-06-09 13:05) [5]

А чем показуешь DataSource?


 
Плохиш ©   (2005-06-09 13:16) [6]

>Lexa   (09.06.05 10:29) [4]

Для чтения значений текстовых полей используй явное преобразование .AsString


 
Lexa   (2005-06-09 13:24) [7]

>Плохиш
А где его использовать? Там же всё на автомате, установлены связи и всё.


 
Lexa   (2005-06-09 13:33) [8]

Попробовал использовать для таблицы, где все данные числовые, ошибка всёравно возникает.


 
КиТаЯц ©   (2005-06-09 14:00) [9]

>Плохиш ©   (09.06.05 13:16) [6]
Да.

Или:
Edit1.text:= VarToStr(...)


 
Плохиш ©   (2005-06-09 14:10) [10]

>Lexa   (09.06.05 13:24) [7]
>Там же всё на автомате, установлены связи и всё.


Где "всё на автомате" таких проблем не возникает. Т.ч. врёшь.


 
Anatoly Podgoretsky ©   (2005-06-09 14:33) [11]

Плохиш ©   (09.06.05 14:10) [10]
Не т.ч, а т.е.


 
Lexa   (2005-06-09 15:56) [12]

Итак, в подробностях:
Имеется форма, на ней ADOTable1, в свойствах которого прописана ConnectionString, указана таблица в базе, которую нужно читать. Затем имеется DataSource1 в свойствах которого параметр DataSet определён как ADOTable1. Так-же имеется DBGrid в свойстве которого DataSource прописано DataSource1. Имеется процедура procedure TfrmMain.FormCreate(Sender: TObject);
begin
 ADOTable1.Open;
end;

После запуска программы получаем вышеупомянутое сообщение. После повторного нажатия F9 программа продолжает работу, и DBGrid верно отображает необходимые данные. Если это не "всё на автьомате", то извините.


 
Anatoly Podgoretsky ©   (2005-06-09 16:13) [13]

Lexa   (09.06.05 15:56) [12]
Теперь тоже самое, но в отдельном проекте.


 
Lexa   (2005-06-12 21:54) [14]

И всё же в чем может быть дело?? Киньте хотябы ссылочку на пример или толковую статью по работе с базами Access через ADO в Delphi.


 
alares   (2005-06-16 11:31) [15]

Lexa, та же беда :( только я к dbf подключаюсь. Если сделать так:

 try
   ADOConnection.Open;
   ADOTable.Open;
 except
   on EVariantTypeCastError do;

- все работает.



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

Форум: "Базы";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.045 c
4-1117649455
vi.ki.ng-vku
2005-06-01 22:10
2005.07.31
Перехват нажатия клавиши


8-1112125830
mar-evg
2005-03-29 23:50
2005.07.31
Вопросец по векторному редактору


14-1120785225
Миллиадр
2005-07-08 05:13
2005.07.31
Как называются числа больше миллиарда ?


1-1121028705
DDDsa
2005-07-11 00:51
2005.07.31
Проблема с кириллицей при поиске.


9-1112952150
Venom Spawn
2005-04-08 13:22
2005.07.31
Генерация карты





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