Entrar
¿Usuario nuevo? Regístrate
eagle1 · Eagle1 usuarios
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes añadir enlaces en tu web relacionados con tu grupo.

Mensajes

  Mensajes Ayuda
Avanzado
error de Harbour con FieldGet()   Lista de mensajes  
Responder | Reenviar Mensaje #1555 de 1683 |
Hola a todos:
 
Uso FW 8.09, Harbour 1.0 y el siguiente código genera el error adjunto al hacer FieldGet( 1). No se qué hago mal. Muchas gracias por la ayuda.
 
Un saludo,
 
Moisés
 
 
 
// Conexión SQL-----------------------------------------------
   oMySql := TMSConnect():New()
   IF oMySql:lInit
      MsgInfo( "Sistema SQL inicializado correctamente", " Motor SQL " )
   ENDIF
   Sysrefresh()

   IF !oMySql:Connect( cServidor, cLogin, cPass, cBaseCliente )  // servidor MYSQL
        MsgStop( "ERROR: No hay conexión con la Base de Datos "+AllTrim(cTablaCliente)+"."+CRLF+"La operación no ha sido realizada. Posiblemente, no hay acceso a Internet.", " ERROR Motor SQL " )
        DbCloseALL()
        quit
   ENDIF
   // -----------------------------------------------------------
 

   // Obtengo Total Registros----------------------------------
   // Seleccionamos la TABLA LIBROS---------------------------
   oTb := TMSTable():New( oMySql, AllTrim(cTablaCliente) )
   if !oTb:Open()   // si no se abre
       MsgStop( "No se puede abrir la tabla: " + cTablacliente, "Operación Cancelada" )
       RETURN Nil
   else
      // Contamos total de Registros
      nTotal := oTb:RecCount()
      msgalert(ntotal)
   endif
 

   // Pinto dialogo con barra----------------------------------
   DEFINE DIALOG oDlg RESOURCE "ESPERAR"  TITLE OemToAnsi("Importando Datos. Por favor, espere...")
   REDEFINE PROGRESS  oMeter  ID 150 OF oDlg

   ACTIVATE DIALOG oDlg CENTERED;
      ON INIT ( oMeter:SetRange( 0, nTotal ), ;
                oMeter:SetPos( nActual ), ;
                oDlg:Hide(), ImportarDATOS( oMySql, cTablaCliente, oTb, oMeter, nTotal, oDlg ) )
 
   // Cierre de SQL
   oMySql:Close()
   oMySql:Free()

RETURN NIL
//----------------------------------------------------------------------------//
 
 
//----------------------------------------------------------------------------//
// IMPORTAR DATOS
//
//----------------------------------------------------------------------------//
FUNCTION ImportarDATOS( oMySql, cTablaCliente, oTb, oMeter, nTotal, oDlg )
 LOCAL cLast, lBloqueado := .F.
 LOCAL cActual := 1
 LOCAL n
 
 // Control de Tabla-------------------------------------------
 //oTb:Blank()
 if !oTb:Open()   // si no se abre
     MsgStop( "No se puede abrir la tabla: " + cTablacliente, "Operación Cancelada" )
     DbCloseAll()
     QUIT
 endif
 

 // Seleccionamos Base de Datos--------------------------------
 SELECT("CLIENTES")
 
 // Controles de la BARRA--------------------------------------
 oDlg:Show()
 oDlg:SetFocus()
 

 // Ejecutamos la importacion----------------------------------
 FOR n := 1 TO nTotal
   APPEND BLANK

   MSGALERT(OTB:FIELDGET(1))
  // aquí da el error, o en el primer REPLACE CLIENTES-> si lo quito
 
 
 REPLACE CLIENTES->CAMPO01     WITH  oTb:FieldGet( 1 )
   REPLACE CLIENTES->CAMPO02     WITH  oTb:FieldGet( 2  )
   REPLACE CLIENTES->NOMBRE      WITH  oTb:FieldGet( 9  )+space(1)+oTb:FieldGet( 10  )+space(1)+oTb:FieldGet( 8  )
   REPLACE CLIENTES->NIF         WITH  oTb:FieldGet( 11 )
   REPLACE CLIENTES->DIRECCION   WITH  oTb:FieldGet( 17 )
   REPLACE CLIENTES->POBLACION   WITH  oTb:FieldGet( 19  )
   REPLACE CLIENTES->TELEFONO    WITH  oTb:FieldGet( 21 )
   REPLACE CLIENTES->BANCO       WITH  oTb:FieldGet( 37  )
   REPLACE CLIENTES->OFICINA     WITH  oTb:FieldGet( 38  )
   REPLACE CLIENTES->SUCURSAL    WITH  oTb:FieldGet( 39 )
   REPLACE CLIENTES->DC          WITH  oTb:FieldGet( 40  )
   REPLACE CLIENTES->CUENTA      WITH  oTb:FieldGet( 41 )
   REPLACE CLIENTES->DIR_BANCO   WITH  oTb:FieldGet( 42  )
   REPLACE CLIENTES->POB_BANCO   WITH  oTb:FieldGet( 43 )
   if oTb:FieldGet( 45 ) = 1  // Caja
      REPLACE CLIENTES->FPAGO   WITH  "Caja"
   else
      REPLACE CLIENTES->FPAGO   WITH  "Domiciliación"
   endif
 
   // Avanzamos registro
   oTb:Skip( 1 )
   oMeter:SetPos( cActual )
   cActual++
   Sysrefresh()
   n++

 NEXT

 // Ejecutamos la importacion----------------------------------
 oTb:Close()                      // Cerramos la TABLA

 


Sáb, 27 de Dic, 2008 3:09 pm

iepc.programacion@...
Enviar mensaje Enviar mensaje

Reenviar Mensaje #1555 de 1683 |
Desplegar mensajes Autor Ordenar por fecha

Hola a todos: Uso FW 8.09, Harbour 1.0 y el siguiente código genera el error adjunto al hacer FieldGet( 1). No se qué hago mal. Muchas gracias por la ayuda. ...
Moisés Barrio
iepc.programacion@...
Enviar mensaje
27 de Dic, 2008
3:09 pm

Moises: Despues de abrir la tabla, y antes de manipular ningun registro ni pedir ningun fieldget() agrega: oTb:GoTop():Read() Saludos, Daniel Puente Marchione...
Daniel Puente-Grupo P...
puenteda_ar
Sin conexión Enviar mensaje
27 de Dic, 2008
5:00 pm

Daniel, Muchas gracias, pero me devuelve el siguiente errror: Application =========== Path and name: C:\DEVELOP\PROGRAMAS\RT\ICADE\icade.exe (32 bits) Size:...
Moisés Barrio
iepc.programacion@...
Enviar mensaje
27 de Dic, 2008
5:09 pm

Perdon, para tmstable(): oTb:GoTo( n ):Read() Saludos, Daniel Puente Marchione Sistemas Puerto San Julian, Pcia. Santa Cruz ... De: Moisés Barrio Para:...
Daniel Puente-Grupo P...
puenteda_ar
Sin conexión Enviar mensaje
27 de Dic, 2008
5:48 pm

Moisés no dices qué versión de Eagle1 usas, pero aún así creo que estás abriendo la tabla dos veces: una aquí.... // Obtengo Total Registros--- ... //...
Manu
loloexpo
Sin conexión Enviar mensaje
28 de Dic, 2008
1:28 am

Hola Manu: La segunda apertura de la tabla la añadí por comprobar si se habría cerrado. La quito y sigue el error. La cuestión es que: La tabla sí tiene...
Moisés Barrio
iepc.programacion@...
Enviar mensaje
8 de Ene, 2009
9:10 pm

Este mensaje lo he visto ahora, perdona!!! Estoy seguro que el error es de la DLL de MySQL o hay que reconstruir la LIB. Para ver la versión sólo tienes...
loloexpo
Sin conexión Enviar mensaje
8 de Ene, 2009
9:13 pm
Avanzado

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda