Los índices maneja todos los tipos , los NTX y CDX etc.
Saludos
xmanuel wrote:Carlos está claro que has seguido con TDbf de toda la vida, lo cual me enhorgullece un montón.
Me encantaría que me ayudaras a mejorar TDbfPRO con tus ideas.
Quiero decirte que la nueva TDbf es un desarrollo absolutamente diferente, no tiene nada que ver con lo antigua. He primado la velocidad y por eso esta hecha en C al 100 * 100
Voy a implenetar todo lo que se pueda y te aviso de lo que no estará de entrada.
En la vieja TDbf todos los componentes eran objetos, en la nueva los he evitado y ahora son metodos de la clase principal.
En la mediad de lo posible, los métodos tienen los mismos parámetros que la función DB...().
Ya te comento. Si quieres me das un teléfono y te llamo y hablamos un poco del tema
PD: Todo lo que se te ocurra me lo dices ok?
elvira wrote:Hola,
Yo voto por sqlrdd porque a esta clase no le veo utilidad.
Cada vez estamos abandonando los dbfs...
Un saludito
xmanuel wrote:La verdad es que he pensado más de una vez hacer algo al respecto, pero siempre llego a la conclusión de que son tecnología muy diferentes e intentar aunar esos mundo sería incluso perjudicial para los usuarios de cualquier xBase (harbour, xharbour, etc ) ya que intentarían seguir con las RDD cuando lo que hay que hacer es dar el salto definitivo al mundo SQL.
xmanuel wrote:Estoy empeñado en hacer algo muy parecido a las RDD pero para el mundo SQL, es decir, hacer un programa para un servidor concreto, MySQL, SQLite o cualquier otro pero que se pudiera cambiar ese servidor sin tener que cambiar el programa, como mucho recompilarlo, sin cambiar nada o casi nada. La idea es hacer un PDO de PHP pero para Harbour, el HDO o XDO como queramos que se llame. Digo lo de recompilar el programa para no recargar el EXE con todos los SQLLink (como yo los llamo).
Por ejemplo habría un SQLLink para MySQL-MariaDB, otro para SQLite, para FireBird, PostgreSQL... en principio los gratuitos y más adelante los de pago como Oracle o SQLServer.
xmanuel wrote:La clases básicas de las que se compondría XDO serían:
- DataBase - Conexión: para establecer la conexion con la base de datos del servidor
- Command: Ejecutar commandos que no devuelvan un resultado en forma de conjunto de datos como INSERT, UPDATE o DELETE
- DataSet: Ejecuta sentencias SQL que devuelven un conjunto de datos y lo gestiona.
- DataSet preparadas: igual que la anterior pero con sentencias preparadas en el lado del servidor.
- Table: sería lo más parecido a las DBF, tendría los GOTO, SKIP, APPEND, etc
- Error: Controlar errores y exepciones
oPasivos := TModel():New( oConnection, 'Pasivos' )
USE Pasivos INDEX Pasivos NEW
GO TOP
WHILE !Eof()
WITH OBJECT oPasivos
MsgWOn( Field->NIF, 'Actualizando pasivos...' )
IF :GetWhere( 'NIF = $1', Field->NIF )
nActualizados++
ELSE
:Blank()
nNuevos++
ENDIF
:FromWorkArea() // Rellena los campos con los homónimos de la dbf
:Prejubilado := (Field->Area_Per == 7)
IF :Update()
ELSE
MsgInfo( 'Problemas con NIF '+ Field->NIF )
ENDIF
// Traspasar Beneficios
cTexto := "DELETE FROM ben_pasivo WHERE cod_pasivo = $1"
IF !oServer:Command( cTexto, Pasivos->Id )
MsgInfo( "|"+cTexto+"|" )
ENDIF
SELECT Ben_Pasivo
dBSeek( Pasivos->Id_sap, .T. )
WHILE !Eof() .AND. Field->Cod_pasivo == Pasivos->Id_sap
WITH OBJECT oBenPasivo
IF :GetWhere( { 'cod_pasivo', 'cod_ben' } , { Field->Cod_Pasivo, Field->Cod_Ben } )
ELSE
:Blank()
ENDIF
:FromWorkArea()
:Update()
END
SKIP
ENDDO
..... aca sigue mas codigo pero es igual
ENDIF
END
SELECT Pasivos
SKIP
ENDDO
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: D.Fernandez and 37 guests