Вниз
Скачать: 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.049 c
2-1140315641
49 Cent
2006-02-19 05:20
2006.03.05
Сумма значений в отфильтрованных строках


15-1139490279
AlterEgo of WondeRu
2006-02-09 16:04
2006.03.05
Холода, надо согреваться - Новая Samara Mastak Party!!!


2-1139992973
aleshap
2006-02-15 11:42
2006.03.05
EOutOfResources


2-1139844804
ilifant
2006-02-13 18:33
2006.03.05
массивы


15-1139312761
_RusLAN
2006-02-07 14:46
2006.03.05
Программа для создания резервных копий проэктов




   Наверх