SQLWIN - RDD libre para SQL

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Nueva versión que modifica el campo sql_recno como NOT NULL, AUTO_INCREMENTAL y UNIQUE. Tambien _ en sql_deleted NOT NULL. Código más limpio y probado con Harbour y xHarbour:

www.fivetechsoft.com/files/sqlwin.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio:

Creo que debería llamarse FiveSQL o FivewinSQL, dado que para Harbour hay varias librerias y se crea bastante confusión, y así se diferencia tu RDD de otros.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Voto por FiveSQL o FWHSQL, algo que lo relacione con FiveWin me parece mejor idea.

Ayer intenté compilarlo y si compila pero lo único que obtengo es un GPF.

Habrá alguna alma caritativa que me apoye en como iniciar?, me gradaría apoyar en lo posible.

Gracias.
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

yo ya pude compilar con xharbour

que les parece FwhxSql


saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Alfredo,

Vuelve a descargarlo y a probarlo. Ya está probado con Harbour y xHarbour.

Respecto al nombre, es lo de menos, lo importante es que consigamos entre todos que funcione bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Una nueva versión que implementa FieldPut() (asignación de campos):

www.fivetechsoft.com/files/sqlwin.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Nueva versión que implementa DbAppend()

www.fivetechsoft.com/files/sqlwin.zip

Donde estan los colaboradores ? :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

Antonio,

disculpa, mis bajos conocimientos, no alcanzan para desarrollar como

ustedes los gurues,

pero he hecho las pruebas desde el primer ejemplo que posteastes,

si en alguna cosa mas puedo ser util, soy materia dispuesta.


saludos.... desde la cd. de mexico.

Cesar C.C.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Cesar,

Gracias por tu respuesta :-)

Lo importante es tener algún tipo de información por parte de quienes lo estan probando. Si tienen preguntas, dudas, comentarios, lo que sea :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Ruben D. Fernandez
Posts: 189
Joined: Sun Jul 08, 2007 1:46 am
Location: Uruguay

Post by Ruben D. Fernandez »

Antonio:

Deseo colaborar en este proyecto de la manera que pueda ser util.
Conocimientos menos que mas.
Quizás haciendo un archivo .chm o .hlp con ejemplos y todo.
Lo que necesito es el contenido que desean incluirle si estan de acuerdo.

Saludos y gracias.

Ruben Fernandez.

Nota. Vamos Adolfo, tengo fe en tus aportes.
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Como usuario de SQLRDD les comento que hay una opción para ver las sentencias SQL que se generan durante la operación, he aquí el LOG de un pequeño programa de prueba que crea una tabla, la indexa, agrega y borra registros.

Esto por si es de ayuda para el avance de SQLWIN.

Code: Select all

09/13/08 21:36:37: SELECT * FROM `clientes_dbf` WHERE 0 = 2	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DROP TABLE `clientes_dbf` /* create table */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTINDEXES WHERE TABLE_ = 'CLIENTES_DBF' /* Wipe index info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTTABLES WHERE TABLE_ = 'CLIENTES_DBF' /* Wipe table info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTLANG WHERE TABLE_ = 'CLIENTES_DBF' /* Wipe table info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTCONSTRAINTS WHERE TABLE_ = 'CLIENTES_DBF' /* Wipe table info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTCONSTRAINTS WHERE SOURCETABLE_ = 'CLIENTES_DBF' /* Wipe table info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTCONSTRTGTCOLS WHERE SOURCETABLE_ = 'CLIENTES_DBF' /* Wipe table info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTCONSTRSRCCOLS WHERE SOURCETABLE_ = 'CLIENTES_DBF' /* Wipe table info */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: SELECT * FROM `clientes_dbf` /* check dropped table */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: CREATE TABLE `clientes_dbf` (    `nombre` CHAR (40) , 
   `direccion` CHAR (40) , 
   `telefono` CHAR (12) , 
   `logico` TINYINT, 
   `date` DATE, 
   `edad` REAL (5,2) , 
   `sr_recno` BIGINT (15) NOT NULL UNIQUE AUTO_INCREMENT , 
   `sr_deleted` CHAR (1)  NOT NULL
 ) Type=InnoDb 	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DELETE FROM SR_MGMNTTABLES WHERE TABLE_ = 'CLIENTES_DBF'	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: INSERT INTO SR_MGMNTTABLES ( TABLE_ , SIGNATURE_, CREATED_, TYPE_, REGINFO_ ) VALUES ( 'CLIENTES_DBF','MGMNT 1.72', '2008091321:36:37','TABLE',' ' )	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: SELECT MAX( `sr_recno` ) FROM `clientes_dbf` /* Counting Records */	
09/13/08 21:36:37: SELECT A.* FROM `clientes_dbf` A  WHERE 1 = 0 /* Open Workarea */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: SELECT TABLE_,SIGNATURE_,IDXNAME_,IDXKEY_,IDXFOR_,IDXCOL_,TAG_,TAGNUM_ FROM SR_MGMNTINDEXES WHERE TABLE_ = 'CLIENTES_DBF' ORDER BY IDXNAME_, TAGNUM_	
09/13/08 21:36:37: SELECT A.* FROM `clientes_dbf` A  ORDER BY A.`sr_recno`  LIMIT    12 /* GoTop */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: SELECT MAX( `sr_recno` ) FROM `clientes_dbf` /* Counting Records */	
09/13/08 21:36:37: SELECT A.* FROM `clientes_dbf` A  ORDER BY A.`sr_recno`  LIMIT    12 /* GoTop */	
09/13/08 21:36:37: SELECT TABLE_,SIGNATURE_,IDXNAME_,IDXKEY_,IDXFOR_,IDXCOL_,TAG_,TAGNUM_,PHIS_NAME_ FROM SR_MGMNTINDEXES  WHERE TABLE_ = 'CLIENTES_DBF' AND IDXNAME_ = 'CLIENTES_DBF' AND TAG_ = 'xNombre' ORDER BY IDXNAME_, TAGNUM_	
09/13/08 21:36:37: DELETE FROM SR_MGMNTINDEXES WHERE TABLE_ = 'CLIENTES_DBF' AND IDXNAME_ = 'CLIENTES_DBF' AND TAG_ = 'xNombre' /* Wipe index info 01 */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: SELECT TABLE_,SIGNATURE_,IDXNAME_,IDXKEY_,IDXFOR_,IDXCOL_,TAG_,TAGNUM_ FROM SR_MGMNTINDEXES WHERE TABLE_ = 'CLIENTES_DBF' ORDER BY IDXNAME_, TAGNUM_	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:37: DROP INDEX CLIENTES_DBF_xNombre ON `clientes_dbf` /* Create Index */	
09/13/08 21:36:37: COMMIT	
09/13/08 21:36:38: CREATE INDEX CLIENTES_DBF_xNombre ON `clientes_dbf` (`nombre`,`sr_recno`) /* Create regular Index */	
09/13/08 21:36:38: COMMIT	
09/13/08 21:36:38: INSERT INTO SR_MGMNTINDEXES (TABLE_,SIGNATURE_,IDXNAME_,PHIS_NAME_,IDXKEY_,IDXFOR_,IDXCOL_,TAG_,TAGNUM_) VALUES ( 'CLIENTES_DBF','20080913 21:36:38 A','CLIENTES_DBF','CLIENTES_DBF_xNombre','\"NOMBRE\",\"SR_RECNO\"','',NULL,'xNombre','000001' )	
09/13/08 21:36:38: COMMIT	
09/13/08 21:36:38: COMMIT	
09/13/08 21:36:38: SELECT TABLE_,SIGNATURE_,IDXNAME_,IDXKEY_,IDXFOR_,IDXCOL_,TAG_,TAGNUM_ FROM SR_MGMNTINDEXES WHERE TABLE_ = 'CLIENTES_DBF' ORDER BY IDXNAME_, TAGNUM_	
09/13/08 21:36:38: SELECT A.* FROM `clientes_dbf` A  ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    12 /* GoTop */	
09/13/08 21:36:48: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE A.`sr_recno` = 1  /* GoTo */	
09/13/08 21:36:48: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    12 /* GoTop */	
09/13/08 21:37:11: COMMIT	
09/13/08 21:37:11: INSERT INTO `clientes_dbf` ( `nombre`, `direccion`, `telefono`, `logico`, `date`, `edad`, `sr_deleted` ) VALUES ( 'ALFREDO ARTEAGALICONA', 'MI DOMICILIO', '112223333333', 0, NULL, 50.00, ' ' ) 	
09/13/08 21:37:11: SELECT LAST_INSERT_ID()	
09/13/08 21:37:11: COMMIT	
09/13/08 21:37:11: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE ( ( ( A.`nombre`  <= 'ALFREDO ARTEAGALICONA' OR A.`nombre` IS NULL ) AND A.`sr_recno`  <= 1) OR ( ( A.`nombre`  < 'ALFREDO ARTEAGALICONA' OR A.`nombre` IS NULL ) )  ) ORDER BY  A.`nombre` DESC, A.`sr_recno` DESC  LIMIT    32 /* Skip BWD */	
09/13/08 21:37:11: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE ( ( A.`nombre`  >= 'ALFREDO ARTEAGALICONA' AND A.`sr_recno`  >= 1) OR ( A.`nombre`  > 'ALFREDO ARTEAGALICONA' )  ) ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    32 /* Skip FWD */	
09/13/08 21:37:23: COMMIT	
09/13/08 21:37:23: UPDATE `clientes_dbf` SET `sr_deleted` = 'T'  WHERE `sr_recno` = 1	
09/13/08 21:37:23: COMMIT	
09/13/08 21:37:23: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE ( (  1 = 1  AND A.`sr_recno`  >= 0) OR ( A.`nombre` IS NOT NULL )  ) ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    32 /* Skip FWD */	
09/13/08 21:37:23: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE ( ( A.`nombre`  >= 'ALFREDO ARTEAGALICONA' AND A.`sr_recno`  >= 1) OR ( A.`nombre`  > 'ALFREDO ARTEAGALICONA' )  ) ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    32 /* Skip FWD */	
09/13/08 21:37:26: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE ( (  1 = 1  AND A.`sr_recno`  >= 0) OR ( A.`nombre` IS NOT NULL )  ) ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    32 /* Skip FWD */	
09/13/08 21:37:26: SELECT A.`nombre`, A.`direccion`, A.`telefono`, A.`edad`, A.`sr_recno`, A.`sr_deleted` FROM `clientes_dbf` A  WHERE ( ( A.`nombre`  >= 'ALFREDO ARTEAGALICONA' AND A.`sr_recno`  >= 1) OR ( A.`nombre`  > 'ALFREDO ARTEAGALICONA' )  ) ORDER BY  A.`nombre`, A.`sr_recno`  LIMIT    32 /* Skip FWD */	
09/13/08 21:37:27: COMMIT	
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Ruben, es una buena idea hacer un documento de SQLWIN. Empecemos por explicar como funciona, no entiendo (soy medio burro).
Arvisnet
Posts: 51
Joined: Sat Nov 19, 2005 8:30 pm
Contact:

duda

Post by Arvisnet »

Saludos a todos, es una excelente idea el hacer SQLwin o como se llame, solo una peque duda, como se usa?
para probarlo que hay que hacer?... ir probando las funciones que menciona antonio?.. con tablas SQL o con dbfs?.. perdon pero no entiendo.
:oops:
habra a la par un ejemplo sencillo para ir siguiendo el paso como por ejemplo:

miprograma.prg
funcion main()

InstanciarObetoConeccion (o como sea abrir la base de datos)
AbrirlasTblas
usar algun query para traer la info o realizar algun requierimiento de datos a la tabla
hacerles un APPEND,DELETE,ETC

Cerrarlaconeccion.
Return nil

y asi vamos probando las nuevas funciones, la velocidad del acceso alos datos etc.

sorry, pero baje el prg y luego lo compilo y...

Saludos AVS
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Descarga sqlwin.prg y construye un EXE con él:

buildx.bat sqlwin
regards, saludos

Antonio Linares
www.fivetechsoft.com
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

Probando y obtengo estos errores

Unresolved external '_HB_FUN_USRRDD_RDDDATA'
Unresolved external '_HB_FUN_USRRDD_AREADATA'
Unresolved external '_HB_FUN_UR_SUPER_ERROR'
Unresolved external '_HB_FUN_UR_SUPER_SETFIELDEXTENT'
Unresolved external '_HB_FUN_UR_SUPER_ADDFIELD'
Unresolved external '_HB_FUN_UR_SUPER_OPEN'
Unresolved external '_HB_FUN_UR_SUPER_CLOSE'
Unresolved external '_HB_FUN_USRRDD_GETFUNCTABLE'

salu2
paco
Post Reply