Вниз
Скачать: 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.044 c
11-1120848891
Barsuk
2005-07-08 22:54
2006.03.05
убегает HeapMM


2-1140170474
Клон
2006-02-17 13:01
2006.03.05
Отправка писем с вложениями через IdSMTP


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


15-1139838359
Arkady
2006-02-13 16:45
2006.03.05
Borland отказывается от развития Dephi и C++


15-1139385308
Mozart
2006-02-08 10:55
2006.03.05
что такое ИМХО!!!




   Наверх