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

Вниз

Автоинкрементные поля - как с ними работать ч-з TSimpleDataSet   Найти похожие ветки 

 
Shaman ©   (2002-11-26 17:06) [0]

Как добавить запись в табличку, у которой есть автоинкрементное поле через TSimpleDataSet?

Например есть табличка


ID int IDENTITY (1, 1) NOT NULL,
Name VARCHAR(120)


Пробуем добавить в нее запись через T: TSimpleDataSet


T.DataSet.CommandType := ctQuery;
T.DataSet.CommandText := "SELECT * FROM MyTable";
T.Open;
T.Append;
T.FieldByName("ID").AsInteger := -1;
T.FieldByName("Name").AsString := "Запивайте водку пивом";
T.Post;
T.ApplyUpdates(-1);

возникает ошибка Unable to find record. No key specified

Помогите, третий день парюсь, кучу вариантов перепробовал.


 
Johnmen ©   (2002-11-26 17:50) [1]

TSimpleDataSet не знаю, не встречал.
А указанная ошибка говорит о том, что невозможно однозначно идентифицировать запись. В виду отсутствия уникального ключа или уникального индекса. А один из них должен быть обязательно (в данном случае), если мы стремимся к грамотному построению БД...


 
Shaman ©   (2002-11-26 18:04) [2]

Суть дела понимаю, но надеюсь, что разработчики предусмотрели для этого какой-нибудь механизм. Есть куча свойств (AutoGenerateValue, ProviderFlag) которые, по идее должны эту проблему решать, но ничего не получается.


 
vlad_ri1   (2002-11-26 21:35) [3]

Я не работал с MSSQL, и возможно я не прав, но добавляя записи в таблицы Access через ADO поля с автоинкрементом я не трогаю, его значение увеличивается автоматически.


 
sniknik ©   (2002-11-26 21:42) [4]

vlad_ri1 (26.11.02 21:35)
так оно и в MSSQL.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
1-51694
BALU1111
2002-12-02 14:31
2002.12.16
Модальные окна


1-51708
Tundra
2002-12-06 06:56
2002.12.16
Вопрос по Паскалю. Перебор эл-ов множества.


7-51989
Radiy
2002-10-14 11:44
2002.12.16
Клавиатурный знакогенератор


4-52032
TankMan
2002-11-05 12:24
2002.12.16
Как узнать, приоритет любой программы?


6-51863
Romych
2002-10-21 09:18
2002.12.16
Почему, такая разница в быстродействии?