![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при изменении записи в таблице [D7, Access]
pooh © (2006-06-14 15:04:00)Дело вот в чем, я использую ADO для соединения c базой Access. И когда я хочу изменить текущую запись в таблице выскакивает следующая ошибка: "Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record." Кто знает в чем проблема помогите.
Johnmen (2006-06-14 16:16:00) [1]
> MsGuns © (14.06.06 15:42) [8]
> У ключа есть еще одна совсем не последняя функция - ускорение
> поиска ;)
Ты хотел сказать у индекса? :)
MsGuns (2006-06-14 15:42:00) [2]>sniknik © (14.06.06 15:38) [7]
>ключь вообщето делают для однозначной идентификации записи а не для изменяемых
У ключа есть еще одна совсем не последняя функция - ускорение поиска ;)
sniknik (2006-06-14 15:38:00) [3]ключь вообщето делают для однозначной идентификации записи а не для изменяемых данных в нем... если данные в ключе меняются то стоит уйти от естественных ключей, и сделать искуственный.
а тут получается поиск записи по ключу... значение которого изменено, его естественно нет, запись не найдена, вывод - запись была но удалена. (была, потому как откудато ее получили...)
MsGuns (2006-06-14 15:30:00) [4]Во-первых, неясно, что такое ADOIsp, а если типа датасета, то был ли он предварительно открыт.
Во-вторых, неясно, какова строка и опции соединения
В-третьих, неверно спроектирована БД (хотя это вполне может в дальнейшем переместиться с третьей позиции на первую)
pooh (2006-06-14 15:15:00) [5]может быть ошибка возникает из-за того что у меня составной ключ "Код оборудования"+"Номер шасси". Потому что остальные поля меняются без ошибок,а при попытке изменить значение поля Номер шасси выскакивает ошибка
pooh (2006-06-14 15:10:00) [6]ADOIsp.Edit;
ADOIsp.FieldByName('Код оборудования').AsVariant:=Form3.ADOIsp.FieldByName('Код оборудования').AsVariant;
ADOIsp.FieldByName('Номер шасси').AsVariant:=CBStoj.Text;
ADOIsp.FieldByName('Количество').AsVariant:=DBEdit1.Text;
ADOIsp.FieldByName('Поступило в использование').AsVariant:=DBEdit3.Text;
ADOIsp.Post;
sniknik (2006-06-14 15:09:00) [7]> Код давайте
не надо. зачем? ведь смысл вопросов по замыслу авторов не решить их, а пообщатся, хорошо провести время. без него дольше а значит веселее.
посмотри по форуму. буквально 99% создано с таким расчетом....
sniknik (2006-06-14 15:07:00) [8]... а делфи действительно седьмой? не пятый?
ну тогда текущая запись дйствительно была удалена.
MsGuns (2006-06-14 15:05:00) [9]Код давайте