Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
4-7762
Denis
2003-05-01 12:56
2003.07.03
Как узнать текущюю частоту обновления монитора ?


3-7312
me2
2003-06-09 14:38
2003.07.03
Работа с мультиселест в DBGridEh


14-7635
Кен
2003-06-14 06:11
2003.07.03
Где в сети можно БЫСТРО получить бесплатный мэйл и не древовидный


3-7291
aVast
2003-06-06 14:48
2003.07.03
Можно ли определить диалект БД InterBase?


3-7340
Monk
2003-06-10 11:18
2003.07.03
Восстановление базы Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский