![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
InsertRecord (ADOTable) [D7, MSSQL]
vic © (2004-08-04 15:43:00)Есть таблица, где первое поле - первичный ключ и автоинкремент, т.е.
create table table1(
id numeric identity(1,1) primary key,,
name varchar(20))
Пытаюсь вставить запись:
ADOTable1.InsertRecord([1,'asd']);
Не работает, выдает ошибку, что нельзя менять id, и это понятно.
Пытаюсь вставить запись:
ADOTable1.InsertRecord(['asd']);
Тоже не работает, выдает ту же ошибку. Как же вставить запись в таком случае? (т.е. без 1-ого поля)
vic (2004-08-05 10:07:00) [1]>Попробуй первый парметр поставить в Nil
спасибо
AleKo (2004-08-05 08:23:00) [2]Попробуй первый парметр поставить в Nil
ADOTable1.InsertRecord([Nil,'asd']);
vic (2004-08-04 16:26:00) [3]2Соловьев
я же написала, что их 42, последнее - 41
Соловьев (2004-08-04 16:23:00) [4]потому как полей-то может и 41, но последнее 40
vic (2004-08-04 16:20:00) [5]>Либо порядок полей поменять в ADOTable1 (явно их определив), так, чтобы id было в конце (тогда его можно не записывать)
Это больше подходит, т.к. полей оч.много (42)
Но на это:
PlatTable.FieldList.Exchange(0,41);
меняю 1 поле с последним
ругается :list index out of bound(0)
Почему?
KSergey (2004-08-04 15:47:00) [6]Либо порядок полей поменять в ADOTable1 (явно их определив), так, чтобы id было в конце (тогда его можно не записывать)
Либо
ADOTable1.Insert;
ADOTable1.Fields.DieldBuName('name').AsString = 'ля-ля тополя';
ADOTable1.Post;
Соловьев (2004-08-04 15:46:00) [7]А если так:
ADOTable1.Insert;
ADOTable1.fieldByName('name').AsString := 'asd';
ADOTable1.Post;
?