Главная страница
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.045 c
15-1157967030
ANB
2006-09-11 13:30
2006.10.08
Нефть падает в цене.


1-1156420595
DevilDevil
2006-08-24 15:56
2006.10.08
OnKeyDown работает некорректно


1-1156409591
DelphiLexx
2006-08-24 12:53
2006.10.08
FormStyle=fsMdiChild и FormStyle=fsNormal отрисовыв. по разному?


3-1154418338
VictorT
2006-08-01 11:45
2006.10.08
Сравнение результатов двух запросов


2-1158689056
KEBZ
2006-09-19 22:04
2006.10.08
ListBox