Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите плиз разобраться с синтаксисом SQL запроса


IIIakal ©   (2009-03-24 16:14:00) 

Как правильно написать параметр имени столбика? В инете не нашел нужной информации...

SQL.Text:='update table1 set (:f)=:n, (:l)=:n2, gold=:n3';
Parameters.ParamByName('f').Value:='field'+inttostr(i);
Parameters.ParamByName('l').Value:='field'+inttostr(i);
Parameters.ParamByName('n').Value:=1;
Parameters.ParamByName('n2').Value:=k+1;
Parameters.ParamByName('n3').Value:=g-100;
adomagaz.ExecSQL;


sniknik   (2009-03-24 17:23:00) [1]

> Что-то в таком духе попробуй.
а с чего это другая форма задания параметров вдруг  разрешит в них имена таблиц? ... предсказываю полный крах "проб".
                                                                            и.о. Нострадамуса. :)


Ega23   (2009-03-24 17:19:00) [2]


> SQL.Text:='update table1 set (:f)=:n, (:l)=:n2, gold=:n3';


with TADODataSet do
begin
 ParamCheck := False;
 CommandText := 'update ? set ?=?, ?=? where ?=?';
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'TableName';
 DataType := ftString;
 Directoin := pdInput;
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'Field1';
 DataType := ftString;
 Directoin := pdInput;
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'Value1';
 DataType := ftInteger;
 Directoin := pdInput;
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'Field2';
 DataType := ftString;
 Directoin := pdInput;
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'Value2';
 DataType := ftString;
 Directoin := pdInput;
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'Field3';
 DataType := ftString;
 Directoin := pdInput;
end;

with TADODataSet.Parameters.AddParam do
begin
 Name := 'Value3';
 DataType := ftInteger;
 Directoin := pdInput;
end;


Что-то в таком духе попробуй.


MsGuns   (2009-03-24 17:03:00) [3]

Можно с помощью ХП (ф-ции)


StriderMan   (2009-03-24 16:41:00) [4]

+ IntToStr(1)конечно


StriderMan   (2009-03-24 16:39:00) [5]

собирай весь текст запроса динамически

SQL.Text:='update table1 set ' +
              'field'+inttostr(i) + ' = ' + 1 +
              ....


IIIakal   (2009-03-24 16:21:00) [6]


> В инете не нашел нужной информации...

потому видимо и не нашел:-\
спс


Amoeba   (2009-03-24 16:19:00) [7]

Имена полей через параметры не передаются, их нужно указывать явно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо