Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Access - как измененить значение поля?   Найти похожие ветки 

 
Максим   (2004-07-30 01:44) [0]

Подскажите, пожалуйста.
Прямо в DBGrid редактирую таблицу базы (Ms Access). Добавляю новую строку, устанавливаю значения полей, сохраняю, все работает. А изменить значения уже существующих строк не могу. Возникает  “Запись не может быть обновлена, так как с момента последнего чтения значения некоторых полей могли быть изменены”. Если редактировать таблицу не непосредственно в DBGrid, а так:
ADOConnection.BeginTrans;
ADOTable.Insert;
ADOTable.Fields[0]:= 1;

ADOTable.Post,

все работает, но при измении значение поля существующей записи  
ADOConnection.BeginTrans;
ADOTable.Edit;
ADOTable.Fields[0]:= 1;
ADOTable.Post, метод Post генерирует ту же ошибку.
(Access 97, ADOConnection.ConnectionString:=  "Provider=Microsoft.Jet.OLEDB.4.0;
Persist Security Info=False; User ID=Admin;Data Source=db.mdb". Не пойму где допускаю ошибку.


 
ЮЮ ©   (2004-07-30 03:59) [1]

В таблице нет первичного ключа, а в записи до редактирования есть NULL-евые поля, поэтому запрос на модификацию и удаление не может найти эту запись в тавлице и считает, что она была уже кем-то изменена


 
OhYoMaFa!   (2004-07-30 14:41) [2]

Вот несколько статей на эту тему:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=408
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=413
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=420
http://www.delphikingdom.com/mastering/ado.htm


 
Leran2003   (2004-07-30 19:59) [3]

CursorLocation=clUseServer и будет тебе счастье :))


 
starcomputer   (2004-07-31 09:38) [4]

Есть или нет ключ по моему безразлично!
Я уже долгое время пытаюсь решить этот вопрос и убедился, что пока не выполнишь close - open новые записи невозможно редактировать!
Так что если у кого-нибудь получиться сообщите плиз!!!

А ссылки на Королевство конечно не плохие, автор статей Shabal, мы с ним обсуждали этот вопрос и на форуме, и в частной переписке, в конце концов он со мной согласился :)


 
sniknik ©   (2004-07-31 10:48) [5]

> Есть или нет ключ по моему безразлично!
да ну?
тогда попробуй SQL запросом удалить 3ю(/любую) позицию в таблице из совершенно одинаковых записей, одинаковых по всем полям.  
а ведь в случае SQL сервером, общение идет именно на языке SQL.
(только без всяких обходных путей типа завести новую таблицу и перекачать туда все -1 запись, это уже признак интелектуального решения, чего нельзя требовать от компонент)
можеш также попробовать изменить 1 запись в ряду одинаковых, только именно одну. если даш решение тогда пожалуй все с тобой согласятся, ключь не нужен.
(аксес не совсем хороший пример конечно, у него есть режим локального доступа, лучше бы было взять "чистый" сервер у которого нет скрытых ключей(/уникальных идентификаторов), но ладно пусть будет аксесс)

> и в частной переписке, в конце концов он со мной согласился :)
наверняка только потому чтобы ты отстал, обьяснять основы упорствуюшим дилетантам часто очень утомительно.



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

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1091558483
DreymanD
2004-08-03 22:41
2004.08.22
Циклическая процедура.


11-1079627508
RA
2004-03-18 19:31
2004.08.22
Приоритеты в КОЛ


14-1091201800
Igor_thief
2004-07-30 19:36
2004.08.22
Excel


3-1091013617
shulgin_dmitrii
2004-07-28 15:20
2004.08.22
FireBird+BLOB+Dynamic Array - не работает ...


4-1089289927
Elysium
2004-07-08 16:32
2004.08.22
Таймер на 6 миллисекунд