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

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

Как в ставить запись в аксесс таблицу через АДО


Frozzen ©   (2005-11-23 14:47:00) 

Доброго времени суток!
Никогда не работал с акссесом, тока оракл да ИБ, тут пришлось.
Работаю через АДО. Как организовать инсерт в таблицу. Делаю так

while not sql.Eof do begin
   myds.Active := false;
   myds.CommandText := 'INSERT INTO T_VAR ( name_v, type_V, def ) VALUES ("'+trim(sql.Fields[0].AsString) +'", "'+trim(sql.Fields[1].AsString)+'", "'+trim(sql.Fields[2].AsString)+'")';
 
   myds.Active := true;
   sql.Next;
 end;

не работает?


VadimSpb   (2006-01-08 17:58:00) [1]

В отладчике проверь свою строку, там д.б. ошибка.
Попробуй правильно расставить кавычки:
myds.CommandText := 'INSERT INTO T_VAR ( name_v, type_V, def ) VALUES (' + trim(sql.Fields[0].AsString)+ ',' + trim(sql.Fields[1].AsString) +',' + trim(sql.Fields[2].AsString) + ')';
myds.Execute;

Разумеется,
myds: TADOCommand;


Anatoly Podgoretsky   (2006-01-08 15:54:00) [2]

Innuil ©   (08.01.06 13:24) [8]
Зачем ты автору советуешь заведомо не рабочий хапрос?


sniknik   (2006-01-08 15:16:00) [3]

Number зарезервированное слово


Innuil   (2006-01-08 13:24:00) [4]

ADOCommand1.CommandText:= 'insert into Users (UserName, KeyType, Number) values (:UserName1, :KeyType1, :Number1)';

 ADOCommand1.Parameters.ParamByName('UserName1').Value := InsUserForm.DataIns.FIO;
 ADOCommand1.Parameters.ParamByName('KeyType1').Value := InsUserForm.DataIns.TypeCard;
 ADOCommand1.Parameters.ParamByName('Number1').Value := InsUserForm.DataIns.NumCard;

 ADOCommand1.Execute;

Выдаётся ошибка в синтаксисе запроса. Parametrs.name, конечно же, соответсвуют нужным значеиям в запросе.. Может кто сталкивался с такой проблемой?? БДшка Аксессовская...


msguns   (2005-11-24 11:20:00) [5]

А вообще это тупо - для подобных вещей вовсе не надо ничего сканировать, достаточно просто соответствующего запроса типа

insert into TableA (f1,f2,f3,..)
 select f1,f2,f3,.. from TableB
    [where ...]


msguns   (2005-11-24 11:16:00) [6]

>Не работает?

А чего, собственно, там должно работать ?
Ты же не запускаешь свой обновляющийзапрос (Execute), а вместо этого зачем-то бесконечно закрываешь-открываешь его.


sniknik   (2005-11-23 18:06:00) [7]

> чет наверно адо команд излишне функционален, для простого инсерта наверно и квери достаточно
бред.
в адо команд это тот "кирпичик" на котором все стоит, а квери это целый дом (adodataset) только с выбитыми окнами (типа не нужны раз в BDE не было), и с басейном на балконе от которого дом кренится (по той же причине. был)...


Frozzen   (2005-11-23 15:08:00) [8]

чет наверно адо команд излишне функционален, для простого инсерта наверно и квери достаточно


Frozzen   (2005-11-23 15:07:00) [9]

А что лучше пользовать ADOCommand или ADOQuery?


Desdechado   (2005-11-23 15:06:00) [10]

ADOCommand


Frozzen   (2005-11-23 14:56:00) [11]

myds - TADODataSet, с прицепленным АДО конекшенем


Наверх

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