Форум: "Базы";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизUpdate Найти похожие ветки
← →
Silla (2003-08-07 14:48) [0]Привет мастерам!
Возникла ситуация когда необходимо использовать посредством 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. Представлены несовместимые или неполные сведения"
Вопрос: Что делаю не так?
Типы полей обеих таблиц проверил. Все правильно.
← →
ZrenBy (2003-08-07 14:51) [1]ADO.Parameters.Clear;
ADO.Parameters.CreateParameter("@RETURN", ftInteger, pdReturnValue,4,0);
ADO.Parameters.CreateParameter("@I_DAT", ftInteger, pdInput, 4,20030801);
← →
Nikolay M. (2003-08-07 14:56) [2]
> 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;
← →
sniknik (2003-08-07 15:02) [3]Parameters.ParamByName("Job").Value := ( "IdJob") Parameters.ParamByName("Job").Value := TblContract.FieldByName("IdJob").AsInteger;
← →
Silla (2003-08-07 15:03) [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"
← →
Silla (2003-08-07 15:10) [5]>sniknik
Теперь выдает другую ошибку
Ошибка синтаксиса в инструкции UPDATE
← →
sniknik (2003-08-07 15:23) [6]Silla © (07.08.03 15:10)
ну параметр уже прошли(дельфи), осталось теперь запрос(SQL) поправить.
(может скобки убрать? явно лишнии)
Update journal set IdJob =:Job, DocumentDate =:DocDate where id =:IdDoc
← →
Silla (2003-08-07 15:32) [7]>sniknik
Спасибо
и Всем тоже спасибо
как раз уже подправил запрос
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c