Delphi 2006 [MyDac] usign paramer in sql statement.

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
kelinda72
Posts: 9
Joined: Fri 05 May 2006 10:27

Delphi 2006 [MyDac] usign paramer in sql statement.

Post by kelinda72 » Fri 09 Jun 2006 14:35

Hi every body

How is best way to use parameter in statement sql?

My example doesn work i dont understand How or where have i set the parameter...

QryStorico.Prepare;
QryStorico.SQLInsert.Add('INSERT INTO storico(COD_STOR, DESC_STATO, MOTIVO_STATO) VALUES (:COD_STOR, DESC_STATO, :MOTIVO_STATO) WHERE(COD_STOR= :OLD_COD_STOR');

QryStorico.parambyname('COD_STOR').AsInteger :=1;
QryStorico.parambyname('DESC_STATO').AsString := 'wwwwwww';
QryStorico.parambyname('MOTIVO_STATO').AsString :='dddddddd';
QryStorico.execute;


thanks a lot

GEswin
Posts: 186
Joined: Wed 03 Nov 2004 16:57
Location: Spain
Contact:

Post by GEswin » Sun 11 Jun 2006 22:42

Code: Select all

QryStorico.SQLInsert.Add('INSERT INTO storico(COD_STOR, DESC_STATO, MOTIVO_STATO) VALUES (:COD_STOR, DESC_STATO, :MOTIVO_STATO)');
The WHERE part of the INSERT isn't valid. You can't use a WHERE in an INSERT statment. The rest looks well.

Regards

kelinda72
Posts: 9
Joined: Fri 05 May 2006 10:27

Post by kelinda72 » Mon 12 Jun 2006 08:13

I already tried without WHERE.....
i have this errore "column count doesn't match value count at row 1"
what does it mean?


dmSajob.QryStorico.Active := false;
dmSajob.QryStorico.SQL.Text := 'insert into storico (COD_STOR, DATA_ASSEGN_STOR, ASSEGN_DA_STOR) values(:COD_STOR, :DESC_STATO_STOR)' ;

dmSajob.QryStorico.Params.ParamByName('COD_STOR').Value := '1';

dmSajob.QryStorico.Params.ParamByName
('DESC_STATO_STOR').Value := 'ddddddd';
dmSajob.QryStorico.Execute;

Zagawa
Posts: 21
Joined: Fri 12 May 2006 09:56

Post by Zagawa » Mon 12 Jun 2006 10:24

Code: Select all

insert into storico (COD_STOR,DATA_ASSEGN_STOR,ASSEGN_DA_STOR)...

>>> 3 fields

Code: Select all

...values(:COD_STOR, :DESC_STATO_STOR)' ;
>>> 2 values

Each fields must match to a value.

Post Reply