Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.094 c
2-1140249308
drink
2006-02-18 10:55
2006.03.05
Переменная в двух модулях (Unit).


15-1139561322
HITMAN
2006-02-10 11:48
2006.03.05
Материнская плата!!!


2-1140011423
Ice
2006-02-15 16:50
2006.03.05
Виртуальный TCanvas и его фоновый цвет...


2-1140244985
X9
2006-02-18 09:43
2006.03.05
Узнать выбранный принтер


15-1139682940
alexdid
2006-02-11 21:35
2006.03.05
VMWARE windows xp prof sp2