tDolphin, método delete

tDolphin, método delete

Postby Biel EA6DD » Thu Sep 11, 2014 8:59 am

Cuando la sentencia SQL contiene un JOIN, aTables guarda el nombre de la tabla más todo la cadena JOIN.
pe
?::aTables[1] --> ctFraCab LEFT JOIN ctCuenta ON ctFraCab.EmpCod=ctCuenta.EmpCod AND ctFraCab.MayCod=ctCuenta.MayCod AND ...

Esto genera un problema al usar el método delete, ya que el comando creado es erroneo.
DELETE FROM tabla LEFT JOIN .... WHERE ...

Una solución es cambiar en el método delete
Code: Select all  Expand view
cTable := ::aTables[ 1 ] //Original

por
Code: Select all  Expand view
cTable := IIf(At(' ',::aTables[1])>0,SubStr(::aTables[1],1,At(' ',::aTables[1])),::aTables[1]) //Biel 1409

De esta forma queda funcional, aunque el fondo del problema quizás sea cuando se procesa el comando SQL en el método BuildDatas.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: tDolphin, método delete

Postby Daniel Garcia-Gil » Thu Sep 11, 2014 7:15 pm

Gracias Biel

puedes contribuir con TDolphin haciendo un FORK del repositorio y despues de generar tus cambios solicitas un "PULL REQUEST"
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: tDolphin, método delete

Postby Biel EA6DD » Mon Sep 15, 2014 9:00 am

Hola Daniel, no estoy muy puesto con Git, me documento y lo intento actualizar.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: tDolphin, método delete

Postby joseluisysturiz » Mon Sep 15, 2014 4:39 pm

Nose si sera lo mismo sobre el tema, tratando borrar un registro de 2 tablas relacionadas con oQry:Delete(), ejemplo borrar un cliente relacionado con la tabla clasificacion de clientes, me arrojo error que no se pueden borrar registros en tablas relacionadas, revisando manual de MySql lo resolvi asi:

Code: Select all  Expand view

      cSqlDel := "DELETE LOW_PRIORITY " +;
         "FROM " + cTabla + " " +;
         "WHERE " + cCampoWhere + " = " + ClipValue2SQL( cVar ) + " " +;
         "ORDER BY " + cCampoWhere + " "

      TRY
         oDatos:oConex:Execute( cSqlDel )

         MsgInfo( "Registro " + ALLTRIM( cValToChar( cVar ) ) +;
            " Eliminado Correctamente.", oDatos:cTitMsg )

      CATCH oError
         ShowError( oError, "delete_tablas_relacionadas", "general.prg" )

      END
 


saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 29 guests

cron