Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Параметры в ADO: q2: Parameter i not found   Найти похожие ветки 

 
Progr_Neud   (2006-08-04 10:21) [0]

Пишу следующую конструкцию:

  q2.Close;
  q2.ConnectionString:="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Таблицы Visual FoxPro;UID=;SourceDB="+PathBD+";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Delet ed=Yes;"";
  q2.SQL.Clear;
  q2.SQL.Add("insert into starye (id,kolvo,nazvan,opisan) values( :i , :c , :n , :m )");
  while not q1.Eof do begin
     q2.Close;
     q2.Parameters.ParamByName("i").Value:=q1.FieldByName("id").AsInteger;
     q2.Parameters.ParamByName("c").Value:=q1.FieldByName("kolvo").AsFloat;
     q2.Parameters.ParamByName("n").Value:=q1.FieldByName("nazvan").AsString;
     q2.Parameters.ParamByName("m").Value:=q1.FieldByName("opisan").AsString;
     q2.ExecSQL;
     q1.Next;
  end;

Строка подключения следующая:


Когда пытается запузырить значение в параметр по имени "i" - ругается на то что он не найден....

Пробовал и с пробелами перед : и без пробелов.
Как бороться?
Причем этот компонент в других местах программы нормально работает с параметрами......


 
ORMADA ©   (2006-08-04 10:29) [1]

параметры перепарсить нада Paramerers.ParseSQL вызать


 
sniknik ©   (2006-08-04 10:34) [2]

1 q2.Close; в цикле лишнее.
2 на вставку, и вообще команды не возвращаемые данные, лучше выполнять в ADOCommand. (возвращающие в ADODataSet, а ADOQuery/Table/StoredProc на помойку...)
3 не использование ADOConnection (прописывание строки в командном компаненте, как у тебя) частый источник глюков, часто вообще непонятных... используй его даже если думаеш что он тебе не нужен (!!!!).
4 ParamCheck возможно у тебя отключен, поэтому параметры совсем не созданы. ругается на первый используемый.


 
Progr_Neud   (2006-08-04 10:49) [3]

Ура!!!
Добавил строчку перед циклом
q2.Parameters.ParseSQL(q2.SQL.Text,true);

и все заработало....
Всем спасибо.
Вопрос в догонку: а почему в других местах этой программы этот компонент работал без такой строчки???


 
Johnmen ©   (2006-08-04 10:59) [4]

Потому, что в других местах этой программы этот компонент не претерпевал дизайнерских изменений...



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
8-1142450207
realSanek
2006-03-15 22:16
2006.10.08
Как вывести текст, выкручивающийся по спирали из точки?


2-1158298637
Metamorph
2006-09-15 09:37
2006.10.08
SQL запрос с "COUNT"


2-1158835939
evgenij_
2006-09-21 14:52
2006.10.08
RAVE REPORT


3-1154946285
rsa_
2006-08-07 14:24
2006.10.08
в базе MySQL5 запись на украинском внести можно, но при запросе


15-1158217608
QuickFinder
2006-09-14 11:06
2006.10.08
Терминатор и батарейка для ноутбука