//Здесь обязательно должно быть:
if(!ADOTable1->FieldByName("somefiels")->IsNull)
... ADOTable1->FieldByName("somefiels")->AsString;
Помогите устранить ошибку с ADOTable
Есть форма, на ней ADOTable она подключена к базе Access, но при компиляции выскакивает ошибка
First chance exception at $7C81EB33. Exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'. Process Project1.exe (3912)
и указывает на строку в файле Forms.hpp
/* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(AOwner) { }
хотя при простом запуске проги она не выскакивает и когда Table была тоже не выскакивала но Table медлено работает поэтому оставить немогу, хочу разобратся что за ошибка и как устранить, при чем выскакивает когда в ADOTable Enable = true.
попробуй сменить ппорядок подключения хедеров - иногда в подобных случаях помогает.
У тебя в коде происходит считывание данных (явно или не явно) без проверки на NULL. Возможно это какой либо из компонентов типа TDBEdit в котором допущена эта ошибка - может быть ты сам что либо читаешь типа:
Код:
З.Ы. Разницы принципиальной межу просто TTable и TADOTable практически нет лучше использовать TADOQuery
И ставь ADOTable1-Active = false перед компиляцией
все навигация и работа через DBNavigator как применить твой код к данной ситуации и чем лучше TADOQuery и как с ним работать
Первое, что необходимо сделать - проверь, что генерирует исключение - я предполагаю что возможно это DBRichViewEdit (по крайней мере со стандартными компонентами вроде бы я подобных ошибок не помню - впрочем я c ними нечасто работаю). Если это действительно так - то используй компонент из стандартного набора - или же загружай данные самостоятельно.
Если же проблема с DBEdit то используя TADOQuery ты легко сможешь решить данную проблему при помощи конструкции iif
нет, проблема именно в ADOTable, щас выкинул все компоненты оставил его одного и всеравно при активации хоть как выскакивает ошибка, ADOQuery настроить несмог пишет что ошибка с SQL связанная
ну так исправь ошибку и работай.
оказалось надо было просто кликнуть правой клавишей и добавить в ADOTable все поля