Вниз
Скачать: CL | DM;

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

 
Frozzen   (2005-11-23 14:47) [0]

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

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;

не работает?


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

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


 
Desdechado ©   (2005-11-23 15:06) [2]

ADOCommand


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

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


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

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


 
sniknik ©   (2005-11-23 18:06) [5]

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


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

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

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


 
msguns ©   (2005-11-24 11:20) [7]

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

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


 
Innuil ©   (2006-01-08 13:24) [8]

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, конечно же, соответсвуют нужным значеиям в запросе.. Может кто сталкивался с такой проблемой?? БДшка Аксессовская...


 
sniknik ©   (2006-01-08 15:16) [9]

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


 
Anatoly Podgoretsky ©   (2006-01-08 15:54) [10]

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


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

В отладчике проверь свою строку, там д.б. ошибка.
Попробуй правильно расставить кавычки:
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;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
2-1139950387
Kot_
2006-02-14 23:53
2006.03.05
Составление индекса по символьному и цифровому полю


2-1139857519
Rom
2006-02-13 22:05
2006.03.05
Проблемы с Locate


11-1120596444
micron
2005-07-06 00:47
2006.03.05
Не читается из ini-файла, не рисуется иконка...


15-1139504698
Nic
2006-02-09 20:04
2006.03.05
Монитор запах смесью палёной пластмассы и изоленты на всю комнату


2-1140277888
Pit
2006-02-18 18:51
2006.03.05
Подменю в PopupMenu




   Наверх