![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Update
Silla © (2003-08-07 14:48:00)Привет мастерам!
Возникла ситуация когда необходимо использовать посредством ADOQuery обновление данных
делаю так:
procedure TFrmContract.TblContractBeforePost(DataSet: TDataSet);
var
qqq: TADOQuery;
begin
qqq := TADOQuery.Create(self);
try
with qqq do begin
Connection := MainForm.ADOConnectionStore;
Close;
SQL.Clear;
SQL.Add("Update journal set (IdJob =:Job, DocumentDate =:DocDate) where id =:IdDoc");
Parameters.ParamByName("Job").Value :=
TblContract.FieldByName("IdJob").Value;
Parameters.ParamByName("DocDate").Value :=
TblContract.FieldByName("DateContract").Value;
Parameters.ParamByName("IdDoc").Value :=
( "Id")Привет мастерам!
Возникла ситуация когда необходимо использовать посредством ADOQuery обновление данных
делаю так:
procedure TFrmContract.TblContractBeforePost(DataSet: TDataSet);
var
qqq: TADOQuery;
begin
qqq := TADOQuery.Create(self);
try
with qqq do begin
Connection := MainForm.ADOConnectionStore;
Close;
SQL.Clear;
SQL.Add("Update journal set (IdJob =:Job, DocumentDate =:DocDate) where id =:IdDoc");
Parameters.ParamByName("Job").Value :=
TblContract.FieldByName("IdJob").Value;
Parameters.ParamByName("DocDate").Value :=
TblContract.FieldByName("DateContract").Value;
Parameters.ParamByName("IdDoc").Value :=
TblContract.FieldByName("Id").Value;
ExecSQL;
end;
finally
qqq.Free;
end;
end;
Возникает ошибка
Project HStore.exe raised exception class EOleException with message "Неправильно определен объект Parametr. Представлены несовместимые или неполные сведения"
Вопрос: Что делаю не так?
Типы полей обеих таблиц проверил. Все правильно.
Silla (2003-08-07 15:32:00) [1]
>sniknik
Спасибо
и Всем тоже спасибо
как раз уже подправил запрос
sniknik (2003-08-07 15:23:00) [2]
Silla © (07.08.03 15:10)
ну параметр уже прошли(дельфи), осталось теперь запрос(SQL) поправить.
(может скобки убрать? явно лишнии)
Update journal set IdJob =:Job, DocumentDate =:DocDate where id =:IdDoc
Silla (2003-08-07 15:10:00) [3]
>sniknik
Теперь выдает другую ошибку
Ошибка синтаксиса в инструкции UPDATE
Silla (2003-08-07 15:03:00) [4]
>Nikolay M.
AsInteger и что-то тому подобное поставил бы,
но при проверке ишибок выдает
[Error] UnitContract.pas(121): Undeclared identifier: "AsInteger"
[Error] UnitContract.pas(123): Undeclared identifier: "AsDateTime"
[Error] UnitContract.pas(125): Undeclared identifier: "AsInteger"
[Fatal Error] Hstore.dpr(19): Could not compile used unit "Sou\UnitContract.pas"
sniknik (2003-08-07 15:02:00) [5]Parameters.ParamByName("Job").Value := ( "IdJob")
Parameters.ParamByName("Job").Value := TblContract.FieldByName("IdJob").AsInteger;
Nikolay M. (2003-08-07 14:56:00) [6]
> SQL.Add("Update journal set (IdJob =:Job, DocumentDate =:DocDate)
> where id =:IdDoc");
> Parameters.ParamByName("Job").DataType := XXX;
> Parameters.ParamByName("Job").Value :=
> ( "IdJob")
> SQL.Add("Update journal set (IdJob =:Job, DocumentDate =:DocDate)
> where id =:IdDoc");
> Parameters.ParamByName("Job").DataType := XXX;
> Parameters.ParamByName("Job").Value :=
> TblContract.FieldByName("IdJob").Value;
ZrenBy (2003-08-07 14:51:00) [7]
ADO.Parameters.Clear;
ADO.Parameters.CreateParameter("@RETURN", ftInteger, pdReturnValue,4,0);
ADO.Parameters.CreateParameter("@I_DAT", ftInteger, pdInput, 4,20030801);