FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error al hacer un Update en mysql
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Error al hacer un Update en mysql
Posted: Tue May 27, 2014 11:28 AM
Hola.
Utilizo tdolphin, y al momento de hacer un update me lanza el siguiente error:

Code (fw): Select all Collapse
 Args:
     [   1] = N   4

Stack Calls
===========
   Called from:  => ALLTRIM(0)
   Called from: .\source\prg\tdolpsrv.prg => CLIPVALUE2SQL(1960)
   Called from: .\source\prg\tdolpsrv.prg => TDOLPHINSRV:UPDATE(1897)
   Called from: TUsuarios.prg => TUSUARIOS:GRABAR(234)


El código es:
Code (fw): Select all Collapse
        ::oCnx:update("tbusuarios",;
             {"idagente", "usuario", "menu", "checksum"},;
             {oQry:FieldGet(1), vGets[2], cNivel, nChecksum},;
             "ID='" + Str(::nId) + "'" )


Los datos que le estoy pasando con iguales en tipo al que genero en la tabla, es mas, al momento de hacer un insert con los mismos datos "no existe problema"
los datos que le paso son:

http://1drv.ms/1jW4m68
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Error al hacer un Update en mysql
Posted: Tue May 27, 2014 10:22 PM

goos,

todos los datos numericos debes convertirlos a caracter

::oCnx:update("tbusuarios",;
{"idagente", "usuario", "menu", "checksum"},;
{STR(oQry:FieldGet(1)), vGets[2], cNivel, STR(nChecksum)},;
"ID='" + Str(::nId) + "'" )

Saludos

____________________

Paco
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Error al hacer un Update en mysql
Posted: Wed May 28, 2014 05:35 PM
Francisco Horta wrote:goos,

todos los datos numericos debes convertirlos a caracter

::update("tbusuarios",;
{"idagente", "usuario", "menu", "checksum"},;
{STR(oQry:FieldGet(1)), vGets[2], cNivel, STR(nChecksum)},;
"ID='" + Str(::nId) + "'" )

Saludos


voy a chequear porque no es el primero update que hago con id numericos y campos numericos y no hubo problemas (que recuerde).
gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Error al hacer un Update en mysql
Posted: Thu May 29, 2014 10:57 AM
sigo con el problema. a parte no estoy entendiendo el mensaje del error.
Error description: Error BASE/1099 Error de argumento: STR
Args:
[ 1] = C 621228901
[ 2] = U
[ 3] = U


y pase a str los datos que sn numéricos, en otros update no fueron necesarios.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Error al hacer un Update en mysql
Posted: Thu May 29, 2014 05:41 PM
Yo uso sentencias sql.

Code (fw): Select all Collapse
cQry := "INSERT INTO captura SET "
cQry += "folio="  + ClipValue2SQL( nFolio  )  + ","
cQry += "nombre="           + ClipValue2SQL( cNombre  )  + ","
cQry += "fecha="            + ClipValue2SQL( dFecha  ) 

oCon:Execute( cQry )  

con los comandos de tdolphin:

aCampo := {"folio", "nombre", "fecha" }
aValores := { cstr( nFolio ), dFecha, cNombre }
oCon:Insert( 'captura', aCampos, aValores )


saludos ....
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Error al hacer un Update en mysql
Posted: Fri May 30, 2014 11:11 AM

Cesar.
Yo utilizo tDolphin, y el problema no es con el insert sino con el update, peor solo me ocurre con esa tabla,
con las demás hace exactamente lo mismo y no hay problemas (no es problema de permisos ya verifique).

gracias.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Error al hacer un Update en mysql
Posted: Sat May 31, 2014 02:56 AM
Asi lo hago con campo numericos y string, tambien uso TDolphin, saludos... :-)

Code (fw): Select all Collapse
         oDatos:oConex:Execute("UPDATE delipollo_pedidos SET " +;
            "ped_forma_pago = " + ClipValue2SQL( cFP ) + ", " +;
            "ped_hora_cierre = " + ClipValue2SQL( Time() ) + ", ped_status = 3 " +;
            "WHERE ped_num_pedido = " + ClipValue2SQL( aVar[1] ) + " ")
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Error al hacer un Update en mysql
Posted: Tue Jun 03, 2014 07:45 PM
Es un solo registro el Update que haces o de multiples registros?
En caso de ser uno solo puedes utilizar la instrucción Save() (previamente cargando los valores a actualizar a la query activa)
Code (fw): Select all Collapse
oQry:usuario := vGets[2]
oQry:menu := cNivel
oQry:checksum := nChecksum
oQry:Save()
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Error al hacer un Update en mysql
Posted: Wed Jun 04, 2014 01:16 AM
Hola Goos,

prueba con sentencia sql.

cQry := "UPDATE captura SET "
cQry += "folio=" + ClipValue2SQL( nFolio ) + ","
cQry += "nombre=" + ClipValue2SQL( cNombre ) + ","
cQry += "fecha=" + ClipValue2SQL( dFecha )
cQru += " WHERE " + cWhere

oCon:Execute( cQry )

// con los comandos de tdolphin:

aCampo := {"folio", "nombre", "fecha" }
aValores := { cstr( nFolio ), dFecha, cNombre }
oCon:Update( 'captura', aCampos, aValores, cWhere )


saludos..
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "

Continue the discussion