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

Вниз

Не обновляется атоинкрементальное поле   Найти похожие ветки 

 
first_aid ©   (2003-06-06 10:01) [0]

Приветствую.

Я только недавно начал переходить с BDE на ADO и уверен , что подобный вопрос задовался уже не раз,
н я ненашел на него ответа, так что позволю себе задать его еще раз.

Имеется таблица со следующими полями:

Pk INT IDENTITY(1,1) CONSTRAINT Pk_Idx PRIMARY KEY,
Txt VARCHAR(100)

Для доступа к таблице и представления данных используется связка:

TADOTable->TDataSource-TDBGrid

Записи добавляются:

TADOTable.Insert;
TADOTableTxt.Value = ‘…’;
TADOTAble.Post;

Так вот после добавления записи в таблицу, поле Pk не обновляется, в TDBGrid значение этого поля 0,
при попытке редактирования добавленной записи:

TADOTable.Edit;
TADOTableTxt.Value = ‘…’;
TADOTAble.Post;

Вылетает исключение с текстом ‘Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения.’, Если переоткрыть таблицу, то все нормально, поле Pk имеет ‘нормальное’ значение и все работает, но это же моразм после каждого добавления переоткрывать таблицу:

Отсюда вечный вопрос: Что делать?


 
KoluChi ©   (2003-06-06 11:17) [1]

попробуйте
TADOTable.CursorLocation = clServer;
TADOTable.CursorType = ctKeySet;


 
first_aid ©   (2003-06-06 12:34) [2]

2 KoluChi

Побарабану, ничего не изменилось.


 
KoluChi ©   (2003-06-06 13:32) [3]

Попробуйте
object ADOConnection: TADOConnection
Attributes = [xaCommitRetaining]
Если не получится, завяжитесь на ADOQuery.


 
Polevi ©   (2003-06-06 16:03) [4]

Access какой версии


 
first_aid ©   (2003-06-09 06:32) [5]

По всей видимости Access 2000, создаю базу таким вот макаром:

procedure CreateDataBase;
var
DBEngine: _DBEngine;
begin
DBEngine := CreateComObject(CLASS_DBEngine) as _DBEngine;
DBEngine.Workspaces[0].CreateDatabase("c:\1.mdb", ";LANGID=0x0409;CP=1252;COUNTRY=0", 32);
DBEngine := nil;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-7475
acsoft
2003-06-20 09:43
2003.07.03
Пара вопросов по TPopupMenu


3-7355
anton2v
2003-06-10 12:54
2003.07.03
Копирование данных из одной таблицы в другую


1-7489
-=MAN=-
2003-06-21 04:49
2003.07.03
Как сделать чтобы программа не уничтожалась из памяти


1-7440
Gogol
2003-06-23 12:35
2003.07.03
Помогите получить ListBox.ItemIndex на onMouseMove


14-7597
Крот
2003-06-18 09:24
2003.07.03
Кто нужен в Н-ске.