SQLWIN - RDD libre para SQL

Postby Antonio Linares » Thu Sep 11, 2008 1:29 pm

Nueva versión que modifica el campo sql_recno como NOT NULL, AUTO_INCREMENTAL y UNIQUE. Tambien algunos cambios 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41324
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby MOISES » Fri Sep 12, 2008 2:44 pm

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
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Postby Alfredo Arteaga » Fri Sep 12, 2008 3:29 pm

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
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

Postby sysctrl2 » Fri Sep 12, 2008 5:14 pm

yo ya pude compilar con xharbour

que les parece FwhxSql


saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 956
Joined: Mon Feb 05, 2007 7:15 pm

Postby Antonio Linares » Fri Sep 12, 2008 5:35 pm

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: 41324
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Fri Sep 12, 2008 10:19 pm

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: 41324
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Sat Sep 13, 2008 12:31 am

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
Antonio Linares
Site Admin
 
Posts: 41324
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby sysctrl2 » Sat Sep 13, 2008 12:48 am

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
sysctrl2
 
Posts: 956
Joined: Mon Feb 05, 2007 7:15 pm

Postby Antonio Linares » Sat Sep 13, 2008 8:23 am

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
User avatar
Antonio Linares
Site Admin
 
Posts: 41324
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Ruben D. Fernandez » Sat Sep 13, 2008 5:06 pm

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.
Ruben D. Fernandez
 
Posts: 189
Joined: Sun Jul 08, 2007 1:46 am
Location: Uruguay

Postby Alfredo Arteaga » Sun Sep 14, 2008 2:54 am

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  Expand view
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

Postby Alfredo Arteaga » Sun Sep 14, 2008 3:04 am

Ruben, es una buena idea hacer un documento de SQLWIN. Empecemos por explicar como funciona, no entiendo (soy medio burro).
User avatar
Alfredo Arteaga
 
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico

duda

Postby Arvisnet » Sun Sep 14, 2008 4:34 am

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
Arvisnet
 
Posts: 51
Joined: Sat Nov 19, 2005 8:30 pm

Postby Antonio Linares » Sun Sep 14, 2008 6:18 pm

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

buildx.bat sqlwin
regards, saludos

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

Postby Francisco Horta » Mon Sep 15, 2008 3:21 pm

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
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 6 guests