Incorrect syntax near keyword default
- From: "Milo" <email@xxxxxxxxx>
- Date: Fri, 5 May 2006 14:10:26 +0200
Hi all,
I have a problem with two-tier application, that uses ADO components (Delphi
7) to connect to MS SQL server 2000.
I have switched from BDE to ADO componets (on BDE it worked fine).
I have a delphi procedure that updates some fields in a table that is
processed after I insert new record. (sql text with parameters in dummy
clientdataset :query->provider->clientdataset)
When I execute update statement, I get (on some machines) "EoleException
Incorrect syntax near keyword default".
I don't use "default" word in sql statement.
This error appear in the middle of my procedure, some sql statements execute
with no errors and they use same parameters.
I have updated to MDAC 2.7, but the error still appears.
Code:
procedure datamodule.UpdateRACU(DataSet:TDataSet)//inserted row
begin
with cdsDUMMY do begin
...
Close;
Params.Clear; IndexName := '';
CommandText := 'UPDATE RACU SET SKVREDASIT = ISNULL((SELECT
SUM(RS.CENASIT*RS.KOLI)'+
' FROM RACUA RS, RACU RA'+
' WHERE RS.RACU = RA.RACU
AND'+
' RS.DAKN = RA.DAKN AND'+
' RA.RACU= :RACU1 AND'+
' RA.DAKN= :DAKN1 ),0)'+
' WHERE RACU= :RACU2 AND'+
' DAKN= :DAKN2';
Params.ParseSQL(CommandText,True);
Params.ParamByName('RACU1').AssignFieldValue(cdsRACURACU,DataSet.FieldByName('RACU').AsInteger);
Params.ParamByName('DAKN1').AssignFieldValue(cdsRACUDAKN,DataSet.FieldByName('DAKN').AsDateTime);
Params.ParamByName('RACU2').AssignFieldValue(cdsRACURACU,DataSet.FieldByName('RACU').AsInteger);
Params.ParamByName('DAKN2').AssignFieldValue(cdsRACUDAKN,DataSet.FieldByName('DAKN').AsDateTime);
Execute;
// OK
Close;
Params.Clear; IndexName := '';
CommandText := 'UPDATE RACU SET SKVREDAEU = ISNULL((SELECT
SUM(RS.CENAEU*RS.KOLI)'+
' FROM RACUA RS, RACU RA'+
' WHERE RS.RACU = RA.RACU
AND'+
' RS.DAKN = RA.DAKN AND'+
' RA.RACU= :RACU1 AND'+
' RA.DAKN= :DAKN1 ),0)'+
' WHERE RACU= :RACU2 AND'+
' DAKN= :DAKN2';
Params.ParseSQL(CommandText,True);MyCorrectParseSQL(cdsDUMMY);
Params.ParamByName('RACU1').AssignFieldValue(cdsRACURACU,DataSet.FieldByName('RACU').Value);
Params.ParamByName('DAKN1').AssignFieldValue(cdsRACUDAKN,DataSet.FieldByName('DAKN').Value);
Params.ParamByName('RACU2').AssignFieldValue(cdsRACURACU,DataSet.FieldByName('RACU').Value);
Params.ParamByName('DAKN2').AssignFieldValue(cdsRACUDAKN,DataSet.FieldByName('DAKN').Value);
Execute;
//ERROR
...
end;
end;
Did anyone had similar problem with ADO ?
Regards Milos
.
- Follow-Ups:
- Re: Incorrect syntax near keyword default
- From: Milo
- Re: Incorrect syntax near keyword default
- From: Brian Bushay TeamB
- Re: Incorrect syntax near keyword default
- Prev by Date: I solved myself
- Next by Date: Re: Getting results of a FOR Command
- Previous by thread: dxDBGrid no reaction immediately
- Next by thread: Re: Incorrect syntax near keyword default
- Index(es):
Relevant Pages
|