Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Обработка исключительных ситуаций


Автор: Berliner 7.2.2006, 13:25
Программа делает выборку из dbf файла. dbf файлы беруться все из ListBoxа, в лист боксе отображаются все dbf файлы в каталоге. дело в том, что программа расчитана на то, чтобы выбирать данные из файла соответсвующей структуры. если dbf файл имеет другую структуру при попытке выборки вываливается ошибка оdbc- а надо чтобы выдавалось свое сообщение Типа файл не той структуры подскажите ,как реализовать у меня не получилось


Код



ADOQuery1.SQL.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Add('select NSC,Summa from '+ListBox1.Items[ListBox1.Itemindex]+' where Len(NSC)=16 and (IsNumeric(Nsc)=true)');
ADOQuery1.Open;
Form1.ADOQuery1.Close;



     Form1.ADOQuery1.SQL.Clear;
     Form1.ADOQuery1.SQL.Add('select count(*) as Amount from '+ ListBox1.Items[ListBox1.Itemindex]+' where Len(NSC)=16 and (IsNumeric(Nsc)=true)');
     Form1.ADOQuery1.Open;
     Card:=ADOQuery1.FieldbyName('Amount').AsString;





Автор: Демо 7.2.2006, 13:45
try..except..end не помогает?

Автор: _hunter 7.2.2006, 13:46
Код

try
ADOQuery1.SQL.Clear;    
ADOQuery1.Close;    
ADOQuery1.SQL.Add('select NSC,Summa from '+ListBox1.Items[ListBox1.Itemindex]+' where Len(NSC)=16 and (IsNumeric(Nsc)=true)');    
ADOQuery1.Open;    
Form1.ADOQuery1.Close;    
     Form1.ADOQuery1.SQL.Clear;    
     Form1.ADOQuery1.SQL.Add('select count(*) as Amount from '+ ListBox1.Items[ListBox1.Itemindex]+' where Len(NSC)=16 and (IsNumeric(Nsc)=true)');    
     Form1.ADOQuery1.Open;    
     Card:=ADOQuery1.FieldbyName('Amount').AsString;
except
//выводим сообщение
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)