UPDATE IN STORED PROCEDURE

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Alberto Fregoso
Posts: 3
Joined: Tue 01 Aug 2006 01:10

UPDATE IN STORED PROCEDURE

Post by Alberto Fregoso » Tue 01 Aug 2006 01:18

Hello !!!

Which is the correct form to do an update in a Stored Procedure.?

This way I am doing it!!!

CREATE DEFINER=`root`@`localhost` PROCEDURE `ModificaModelos`(pEmpresa Integer(11), pCodigo Char(20),
pDescripcion Char(50), pDescripcion2 Char(50),
pUbicacion Char(10), pCorrida Char(10),
pColor Char(10), pLinea Char(10), pProveedor Char(10),
pPrecio1 Double(12,2), pPrecio2 DOUBLE(12,2),
pPrecio3 Double(12,2), pPrecio4 Double(12,2),
pPrecio5 Double(12,2), pPrecio6 DOUBLE(12,2),
pPrecio7 Double(12,2), pPrecio8 Double(12,2),
pPrecio9 Double(12,2), pPrecio10 Double(12,2))
BEGIN
UPDATE Productos SET Empresa = pEmpresa, Codigo = pCodigo, Descripcion = pDescripcion, Descripcion2 = pDescripcion2,
Ubicacion = pUbicacion, Corrida = pCorrida, Color = pColor, Linea = pLinea,
ClaveProveedor = pProveedor, Precio1 = pPrecio1, Precio2 = pPrecio2, Precio3 = pPrecio3,
Precio4 = pPrecio4, Precio5 = pPrecio5, Precio6 = pPrecio6, Precio7 = pPrecio7,
Precio8 = pPrecio8, Precio9 = pPrecio9, Precio10 = pPrecio10
Where Empresa = pEmpresa and
Codigo = pCodigo; <---- Aqui el parametro pCodigo es de tipo CHAR()
Since I him(her) put inverted commas from code in Delphi.?

Return This Error.. :
#HY000Illegal mix of collaction (latin_spanish_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='

THANKS !!!

Var. MyDAC 4.30.1.15
Delphi 7
WinXP SP2
END

Jackson
Posts: 512
Joined: Thu 26 Jan 2006 10:06

Post by Jackson » Tue 01 Aug 2006 09:20

This is MySQL error.
Most possible, encoding is not configured properly.
Check TMyConnection.Options.Charset property and configure your server.

Alberto Fregoso
Posts: 3
Joined: Tue 01 Aug 2006 01:10

THIS IS SOLUTION !!!!!!

Post by Alberto Fregoso » Tue 01 Aug 2006 22:45

In the Clause Where Adding This Code COLLATE latin1_spanish_ci;

This is Complete Code.

DELIMITER $$;

DROP PROCEDURE IF EXISTS `syscoi7`.`ModificaModelos`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `ModificaModelos`(pEmpresa Integer(11), pCodigo Char(20),
pDescripcion Char(50), pDescripcion2 Char(50),
pUbicacion Char(10), pCorrida Char(10),
pColor Char(10), pLinea Char(10), pProveedor Char(10),
pPrecio1 Double(12,2), pPrecio2 DOUBLE(12,2),
pPrecio3 Double(12,2), pPrecio4 Double(12,2),
pPrecio5 Double(12,2), pPrecio6 DOUBLE(12,2),
pPrecio7 Double(12,2), pPrecio8 Double(12,2),
pPrecio9 Double(12,2), pPrecio10 Double(12,2))
BEGIN
UPDATE Productos SET Empresa = pEmpresa, Codigo = pCodigo, Descripcion = pDescripcion, Descripcion2 = pDescripcion2,
Ubicacion = pUbicacion, Corrida = pCorrida, Color = pColor, Linea = pLinea,
ClaveProveedor = pProveedor, Precio1 = pPrecio1, Precio2 = pPrecio2, Precio3 = pPrecio3,
Precio4 = pPrecio4, Precio5 = pPrecio5, Precio6 = pPrecio6, Precio7 = pPrecio7,
Precio8 = pPrecio8, Precio9 = pPrecio9, Precio10 = pPrecio10
Where Empresa = pEmpresa and
Codigo = pCodigo COLLATE latin1_spanish_ci;
END$$

DELIMITER ;$$
8)

Jackson
Posts: 512
Joined: Thu 26 Jan 2006 10:06

Post by Jackson » Wed 02 Aug 2006 11:09

Did you assign any value to TMyConnection.Options.Charset property?
If yes, please specify its value.

Post Reply