| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Ошибка при добавлении записи в бд методом Insert |
| Автор: Evenstain 22.2.2010, 17:50 | ||
| следующая проблема: подключил Foxpro базу через ADO и когда пытаюсь добавить в БД запись с помощью метода Insert возникает следующая ошибка: ![]() вот приблизительный код, который я использую!
подскажите, пожалуйста,из за чего может возникать такая ошибка и как от нее избавиться? заранее благодарен з.ы. используя метод Edit для редактирования определенной записи, все работает просто замечательно. в данном же случае почему то возникает ошибка |
| Автор: Данкинг 22.2.2010, 18:15 |
| Через какой провайдер подключаешь?? Ну, попробуй вместо Insert использовать Append. А вообще ещё лучше запросом значения вставлять. |
| Автор: Evenstain 22.2.2010, 18:28 | ||
провайдер - Microsoft OLE DB Provider for Visual FoxPro сейчас попробую через sql - запрос |
| Автор: Данкинг 22.2.2010, 18:32 |
В таком случае, впервые узнаю, что с ним можно редактировать записи с помощью .Edit. |
| Автор: Evenstain 22.2.2010, 19:10 | ||||
а что тут удивительного?! я имел ввиду что то типа
кстати, через запрос получилось вроде |
| Автор: Данкинг 22.2.2010, 19:30 |
Так это реально рабочий код? Через запрос-то понятно, что получилось. |
| Автор: Evenstain 23.2.2010, 01:51 | ||||
конечно рабочий. проверь, если не веришь но лучше наверно все таки тоже через запрос сделать. так и поступим спасибо за совет а вот как я сделал запрос для добавления новой записи
вроде правильно сделал |
| Автор: Данкинг 23.2.2010, 02:17 |
Н-да, и правда, почему-то я всегда думал, что таким образом DBF редактировать нельзя. В данном случае - для добавления новой записи - наверное, всё же логичней запросом. Ну, это понятно. |
| Автор: CROTishka 24.2.2010, 16:10 |
| Текст ошибки кстати копируется по Ctrl+C |
| Автор: Evenstain 25.2.2010, 02:34 |
будем знать |
| Автор: Evenstain 4.3.2010, 16:13 | ||||
| а еще один вопрос. вот я хочу обработать исключительную ситуацию возникновения ошибки класса EOleException ну, например:
вот код, с помощью которого пытаюсь отловить ситуацию
но Delphi ругается, что нету такого класса ошибок как EOleException. видимо, я что то не понимаю. помогите, пожалуйста P.S. написал в разделе type: EOleException = class(Exception); вроде работает, но ошибку не ловит. что я делаю не так?? |
| Автор: Evenstain 5.3.2010, 12:22 |
| ну кто нибудь напишите как решить проблему. а то создам новую тему и захламлю форум просто непонятно почему другие классы ошибок delphi видит, а EoleException нифига |
| Автор: pseud 5.3.2010, 16:47 | ||||
читаем хелп:
не создавай свой класс EOleException (не справшивай почему), а в uses пропиши ComObj. |
| Автор: Evenstain 6.3.2010, 12:36 | ||||||||||
спасибо огромное! тока что то все равно не перехватывает ошибку, выдает как обычно
вот код, который использую
естественно добавил в uses ComObj, но не ловит все равно |
| Автор: pseud 9.3.2010, 10:09 | ||||||
читай внимательно заголовок мессаги
т.е. в дебаге ты ее таки словишь, после этого вывалится твоя месага 'Текст ошибки'. Не в дебаге появится лишь 'Текст ошибки'. Если ты и в дебаге не желаешь видеть EOleException, то включи ее в список игнорируемых дебагером месаг:
|
| Автор: Evenstain 10.3.2010, 18:57 | ||||||||
ясно. спасибо за помощь жаль не могу поставить +1 к репе |
| Автор: Marduk 30.3.2010, 16:14 | ||
Ошибку можно отловить и так:
если в дебаггере отключаешь показ исключений, то это не значит что в проге они не появятся, мне кажется правильнее когда в самой программе идет обработка ошибок |