Update con tablas MySQl.
Publicado: Mié Jul 23, 2008 8:17 pm
por Fredy Gonzales
Puedes pasar un script de tu tabla, y tambien el codigo donde haces todo el
update.
Creo que el problema va mas por la parte del mysql, pero para entender mejor
un ejemplo y probamos.
Saludos.
FG
"RRamonell" <
meridiano75@prodigy.net.mx> escribió en el mensaje
news:[email=
48876dcb@ozsrv2.ozlan.local...]
48876dcb@ozsrv2.ozlan.local...[/email]
> Hola todos:
>
> Les suplico me ayuden a comprender que estoy haciendo mal, ya le he dado
> muchas vueltas a este problema, he combinado alternativas en las
> propiedades tanto del DataSource como del DataSet y no consigo hallar la
> causa.
>
> Tengo un ABM que trabaja sobre una tabla de MySQL perfectamente hasta la
> edicion o alta de registros, el problema se presenta cuando se ejecuta el
> Update() ya que marca el siguiente error:
>
> ***************************** Registro de errores
> *****************************
>
> Fecha: 13/07/2008
> Hora: 14:36:18
> Memoria libre: 1669096
> Area actual: 1
>
> ------------------------- Información del
> compilador --------------------------
>
> Versión Xailer: Xailer 1.9.5 Version 1.9
> Compilador: xHarbour build 1.0.0 Intl. (SimpLex) PCode Version: 9
> Compilador C/C++: Borland C++ 5.8.0
> Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
>
> ----------------------- Información detallada del
> error -----------------------
>
> Subsistema: BASE
> Código de error: 1081
> Estado: .F.
> Descripción: Argument error
> Operación: +
> Argumentos: [ 1] = Tipo: O Valor: [ 2] = Tipo: C Valor: =
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> TMYSQLRECORDS:REPLACE (473)
> TMYSQLRECORDS:UPDATE (341)
> TSQLTABLE:UPDATE (488)
> MANTENABM:BUTTON1CLICK (300)
> TBUTTON:ONCLICK (0)
> TBUTTON:CLICK (99)
> TBUTTON:WMKEYDOWN (167)
> ABM:SHOWMODAL (0)
> TFORM1:BUTTON1CLICK (96)
> TBUTTON:ONCLICK (0)
> TBUTTON:CLICK (99)
> (b)XCONTROL:XCONTROL (145)
> TBUTTON:COMMAND (0)
> TSCROLLINGWINCONTROL:WMCOMMAND (255)
> TFORM1:WMCOMMAND (889)
> RUNFORM (0)
> TAPPLICATION:RUN (209)
> MAIN (17)
>
> Agradezco la ayuda que me puedan proporcionar.
>
> Rene Ramon Elly.
Update con tablas MySQl.
Publicado: Jue Jul 24, 2008 9:42 am
por ignacio
RRamonell,
¿Nos podrías mandar un pequeño ejemplo que reproduzca el problema? Por favor
que incluya el backup de la BD (lo más pequeña posible).
Si pudieras enviar la SELECT que haces a lo mejor podemos decirte algo sólo
con eso.
El error se produce porque algún TDatafield de oDataset:aFields tiene un
valor tipo 'Objeto' en su propiedad cName. Lo cual no tiene ningún sentido.
Un saludo
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"RRamonell" <
meridiano75@prodigy.net.mx> escribió en el mensaje
news:[email=
48876dcb@ozsrv2.ozlan.local...]
48876dcb@ozsrv2.ozlan.local...[/email]
> Hola todos:
>
> Les suplico me ayuden a comprender que estoy haciendo mal, ya le he dado
> muchas vueltas a este problema, he combinado alternativas en las
> propiedades tanto del DataSource como del DataSet y no consigo hallar la
> causa.
>
> Tengo un ABM que trabaja sobre una tabla de MySQL perfectamente hasta la
> edicion o alta de registros, el problema se presenta cuando se ejecuta el
> Update() ya que marca el siguiente error:
>
> ***************************** Registro de errores
> *****************************
>
> Fecha: 13/07/2008
> Hora: 14:36:18
> Memoria libre: 1669096
> Area actual: 1
>
> ------------------------- Información del
> compilador --------------------------
>
> Versión Xailer: Xailer 1.9.5 Version 1.9
> Compilador: xHarbour build 1.0.0 Intl. (SimpLex) PCode Version: 9
> Compilador C/C++: Borland C++ 5.8.0
> Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
>
> ----------------------- Información detallada del
> error -----------------------
>
> Subsistema: BASE
> Código de error: 1081
> Estado: .F.
> Descripción: Argument error
> Operación: +
> Argumentos: [ 1] = Tipo: O Valor: [ 2] = Tipo: C Valor: =
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> TMYSQLRECORDS:REPLACE (473)
> TMYSQLRECORDS:UPDATE (341)
> TSQLTABLE:UPDATE (488)
> MANTENABM:BUTTON1CLICK (300)
> TBUTTON:ONCLICK (0)
> TBUTTON:CLICK (99)
> TBUTTON:WMKEYDOWN (167)
> ABM:SHOWMODAL (0)
> TFORM1:BUTTON1CLICK (96)
> TBUTTON:ONCLICK (0)
> TBUTTON:CLICK (99)
> (b)XCONTROL:XCONTROL (145)
> TBUTTON:COMMAND (0)
> TSCROLLINGWINCONTROL:WMCOMMAND (255)
> TFORM1:WMCOMMAND (889)
> RUNFORM (0)
> TAPPLICATION:RUN (209)
> MAIN (17)
>
> Agradezco la ayuda que me puedan proporcionar.
>
> Rene Ramon Elly.
Update con tablas MySQl.
Publicado: Jue Jul 24, 2008 6:29 pm
por RRamonell
CREATE TABLE IF NOT EXISTS empleados (
clave INTEGER(5) NOT NULL,
nombre VARCHAR(40) NOT NULL,
domicilio VARCHAR(60) NOT NULL,
telefono VARCHAR(15) NULL,
rfc CHAR(15) NOT NULL,
fecha_nac DATE NULL,
actividad INTEGER(3) DEFAULT 999,
sueldo NUMERIC(11,2) DEFAULT 500,
ingreso DATE DEFAULT '2000-01-01',
observaciones VARCHAR(80) NULL,
PRIMARY KEY (clave) )
ENGINE=InnoDB;
INSERT INTO empleados VALUES ( 1, 'Olivares González Raúl' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 01, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 2, 'González Jimenez Alicia', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 02, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 3, 'Olivares García Jorgel' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 03, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 4, 'Olivares García Beatriz', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 04, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 5, 'Olivares García Adriana', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 05, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 6, 'Olivares García Alberto', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 01, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 7, 'Camargo Gonzáles Manuel', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 02, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 8, 'Camargo González Raúl' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 03, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES ( 9, 'Camargo González Beatri', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 04, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (10, 'Olivares Gomez Erick' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 05, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (11, 'Olivares González Emma' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 01, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (12, 'Olivares González Ferna', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 02, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (13, 'Olivares González Arman', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 03, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (14, 'Olivares González Hecto', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 04, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (15, 'Olivares González Sergi', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 05, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (16, 'Olivares González Gulle', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 01, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (17, 'Olivares González Enriq', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 02, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (18, 'Olivares González Silvi', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 03, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (19, 'Olivares González Irma' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 04, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (20, 'Beatriz González Solís' , 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 05, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (21, 'Olivares de la Piedra I', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 01, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (22, 'Olivares de la Piedra D', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 02, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (23, 'Santiago González Guill', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 03, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (24, 'Santiago González Rosar', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 04, 650.75, '2000-01-01', 'A' );
INSERT INTO empleados VALUES (25, 'Santiago González Angel', 'Cuajo # 20', '12-12-12-12', 'OIGR470726DN4', '1947-07-26', 05, 650.75, '2000-01-01', 'A' );
CREATE TABLE IF NOT EXISTS actividad (
codigo_act INTEGER(3) NOT NULL,
descripcion VARCHAR(30) NOT NULL,
valor NUMERIC(11,2) NOT NULL,
PRIMARY KEY (codigo_act) )
ENGINE=InnoDB;
INSERT INTO actividad VALUES (01, 'Charman of the board', 99999.99 );
INSERT INTO actividad VALUES (02, 'General Director' , 88888.88 );
INSERT INTO actividad VALUES (03, 'Principal' , 77777.77 );
INSERT INTO actividad VALUES (04, 'Mayor' , 66666.66 );
INSERT INTO actividad VALUES (05, 'Director' , 55555.55 );
CREATE TABLE IF NOT EXISTS ventas (
id INT AUTO_INCREMENT PRIMARY KEY,
clave INTEGER(5) NOT NULL,
fecha DATE NOT NULL,
cantidad INTEGER(5) NOT NULL,
articulo INTEGER(7) NOT NULL,
FOREIGN KEY (clave) REFERENCES empleados (clave) ON DELETE CASCADE ON UPDATE CASCADE )
ENGINE=InnoDB;
INSERT INTO ventas VALUES ( NULL, 1, '2008-07-01', 19, 7777777 );
INSERT INTO ventas VALUES ( NULL, 1, '2008-07-02', 29, 6666666 );
INSERT INTO ventas VALUES ( NULL, 1, '2008-07-03', 39, 5555555 );
INSERT INTO ventas VALUES ( NULL, 1, '2008-07-04', 49, 4444444 );
INSERT INTO ventas VALUES ( NULL, 1, '2008-07-05', 59, 3333333 );
INSERT INTO ventas VALUES ( NULL, 1, '2008-07-06', 69, 2222222 );
--