Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как добавить новые строки в базу на accesse? [D7, Access ]


npu3pak ©   (2007-03-28 08:16:00) 

нужно добавить несколько строк в базу на access'eиз delphi
я пробывал вот так:
for i:=1 to 10 do
begin
adoquery1.open;
adoquery1.sql.text:='insert into base values (1, 2, 3)';
adoquery1.execsql;
adoquery1.close;
end;
вот так, но добавляется только одна строка :(
а как добавить несколько строк?


LONGWAY   (2007-03-30 02:35:00) [1]

Удалено модератором


GRIENlord   (2007-03-30 00:42:00) [2]

Hello everybody! I am new to the site www.delphimaster.ru
Could anyone, please, advise if there is a lot of
spam and unscrupulous advertising. Can I trust
all this information, which is present at this forum?
Sorry for stupid questions, I just really want know which
information I should trust or even pay attention.


npu3pak   (2007-03-29 14:40:00) [3]

Большое спасибо, все работает!


Jan   (2007-03-29 13:52:00) [4]


> Происходит ошибка: не возможно добавить записи, т.к. они
> не уникальные или что в этом роде...

ошибку точно назови.
open close убрал?


npu3pak   (2007-03-29 13:45:00) [5]

Да нет, инкрементное поле - это поле, в котором, в данном случае, индекс увеличивается не автоматически, а программно (сорри за мое невнятное пояснение).
Короче:
for i:=1 to 10 do
begin
adoquery1.open;
adoquery1.sql.text:='insert into base values (' + inttostr(i) + ')';
adoquery1.execsql;
adoquery1.close;
end;
так понятнее? :)


Sergey13   (2007-03-29 13:26:00) [6]

> [5] npu3pak ©   (29.03.07 13:10)

Я тащусь с ваших способностей задавать вопросы. Волосы очень светлые наверно?


Jan   (2007-03-29 13:17:00) [7]


> чтобы добавлялось несколько записей с инкрементным полем
> %)

оно у тебя авто? зачем тогда ты его трогаешь, пусть само себе заполняется.


Desdechado   (2007-03-29 13:12:00) [8]

Ну, меняй в цикле значение, которое ты добавляешь в таблицу.


npu3pak   (2007-03-29 13:10:00) [9]

Да, именно уникальный индекс не дает использовать цикл.
Происходит ошибка: не возможно добавить записи, т.к. они не уникальные или что в этом роде...
Короче говоря, мне нужно, чтобы добавлялось несколько записей с инкрементным полем %) т.е. чтобы каждая последующая запись была с полем "номер" на 1 больше, чем предыдущее.
Заранее спасибо.


Desdechado   (2007-03-29 11:48:00) [10]

> добавляется только одна строка
Уникальный индекс мешает?


MsGuns   (2007-03-28 21:44:00) [11]

>Jan   (28.03.07 08:47) [2]
>open close необязательно.

Очень мягко сказано


Jan   (2007-03-28 08:47:00) [12]


> adoquery1.open;
> adoquery1.sql.text:='insert into base values (1, 2, 3)';
>
> adoquery1.execsql;
> adoquery1.close;

open close необязательно.


Sergey13   (2007-03-28 08:29:00) [13]

adoquery1.sql.text:='insert into base values (1, 2, 3)';
for i:=1 to 10 do
begin
 adoquery1.execsql;
end;

А так?


Наверх

Титульная страница Поиск, карта сайта Написать письмо