Mysql y Dbf
Mysql y Dbf
Estimados, una Consulta, por efectos de que me resulta mas facil entender la manera de trabajar con DBF, en archivos de trabajo temporal, pero
a su vez aprovechando el motor de busqueda de Mysql. alguno de uds. habra trabajado con ambas opciones a la vez..
a su vez aprovechando el motor de busqueda de Mysql. alguno de uds. habra trabajado con ambas opciones a la vez..
- leandro
- Posts: 1744
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 34 times
- Been thanked: 10 times
- Contact:
Re: Mysql y Dbf
Hola buenos días
La mayoría de los desarrollos que he creado con FW, los hice de la manera que tu comentas. Archivos temporales en dbf y el motor de mysql para la información base. De esta manera he logrado acelerar la creación de reportes.
Saludos
La mayoría de los desarrollos que he creado con FW, los hice de la manera que tu comentas. Archivos temporales en dbf y el motor de mysql para la información base. De esta manera he logrado acelerar la creación de reportes.
Saludos
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Mysql y Dbf
Amigos:
Les recuerdo que también se pueden usar tablas TEMPORALES y es muy sencillo su uso.
Saludos
Les recuerdo que también se pueden usar tablas TEMPORALES y es muy sencillo su uso.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Mysql y Dbf
Como bien dice Armando, utilizar tablas temporales de MySql es muy ventajoso. Desde mi punto de vista por 2 cosas.
1) La tabla temporal que se crea, solo es visible en la conexion que se creo, por lo tanto puede ser utilizada como si el sistema se utilizara en monousuario, sin tener en cuenta que puede haber 100 usuarios conectados que hayan creado sus 100 tablas temporales al mismo tiempo. Esto evita el tema de tener que crear archivos temporales dbf para cada usuario si el sistema se usa en una red o tener que utilizarlo en exclusiva y perder la posibilidad de operar simultaneamente sobre ese archivo dbf.
2) Sobre una tabla temporal se pueden aplicar filtros, ordenes, etc. etc. que si lo queremos hacer con un dbf tenemos que crear los indices necesarios.
Creo que una vez sumergido en el entorno MySql hay que tratar de aprovechar al máximo su potencial.
Es mi simple parecer...
1) La tabla temporal que se crea, solo es visible en la conexion que se creo, por lo tanto puede ser utilizada como si el sistema se utilizara en monousuario, sin tener en cuenta que puede haber 100 usuarios conectados que hayan creado sus 100 tablas temporales al mismo tiempo. Esto evita el tema de tener que crear archivos temporales dbf para cada usuario si el sistema se usa en una red o tener que utilizarlo en exclusiva y perder la posibilidad de operar simultaneamente sobre ese archivo dbf.
2) Sobre una tabla temporal se pueden aplicar filtros, ordenes, etc. etc. que si lo queremos hacer con un dbf tenemos que crear los indices necesarios.
Creo que una vez sumergido en el entorno MySql hay que tratar de aprovechar al máximo su potencial.
Es mi simple parecer...
Re: Mysql y Dbf
Estimado
Tienen algún ejemplo de cómo crear tablas temporales en MySql/MariaDB
Gracias.
Tienen algún ejemplo de cómo crear tablas temporales en MySql/MariaDB
Gracias.
Saludos,
Adhemar C.
Adhemar C.
-
- Posts: 1077
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
- Has thanked: 1 time
Re: Mysql y Dbf
Hola,
es tan sencillo como :
esa sentencia te crea una tabla temporal table2 con la estructura de la tabla table1, y con la información de la misma. También puedes utilizar el clasico formato con nombre de columna y tipo
La tabla temporal solo podra ser accedida desde la sesión donde fue creada y su vida será hasta que la sesión termine, salvo que la borres antes.
Saludos
Marcelo Vía
es tan sencillo como :
Code: Select all | Expand
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)
esa sentencia te crea una tabla temporal table2 con la estructura de la tabla table1, y con la información de la misma. También puedes utilizar el clasico formato con nombre de columna y tipo
La tabla temporal solo podra ser accedida desde la sesión donde fue creada y su vida será hasta que la sesión termine, salvo que la borres antes.
Saludos
Marcelo Vía
Re: Mysql y Dbf
Estimados, entiendo que es mejor Mysql que dbf, pero como hago una tabla temporal con indices...
algo como...
Select 60
ARCHI2 = "TEMEXT"+Alltrim(cUser[3])
If net_use(ARCHI2,.T.,0)
zap
Index On (Archi2)->Cod_Text + Str((Archi2)->Servicio) to Archi2
Endif
Como se haría esto con Mysql.... perdón, pero me pierdo.... ya que después....debo generar una rutina que ordene los datos y me vaya
dando datos acumulados, según como este ordenada la tabla, por grupo y sub grupos.
Atte.,
algo como...
Select 60
ARCHI2 = "TEMEXT"+Alltrim(cUser[3])
If net_use(ARCHI2,.T.,0)
zap
Index On (Archi2)->Cod_Text + Str((Archi2)->Servicio) to Archi2
Endif
Como se haría esto con Mysql.... perdón, pero me pierdo.... ya que después....debo generar una rutina que ordene los datos y me vaya
dando datos acumulados, según como este ordenada la tabla, por grupo y sub grupos.
Atte.,
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Mysql y Dbf
Simple, solo le das el orden que queres con ORDER BY
Con Dolphin seria asi:
Y en el transcurso del programa podes cambiarle el orden simplemente indicando por que campo
oQryDet:SetOrder("DETART",.T.)
Si la muestras en un xBrowse y defines el mismo AUTOSORT el usuario puede elegir libremente por que campo desear ordenarla haciendo click en el encabezado
Con Dolphin seria asi:
Code: Select all | Expand
oApp:oServer:Execute("";
+ "CREATE TEMPORARY TABLE IF NOT EXISTS ventas_det_H ";
+"( `id` INT(6) NOT NULL AUTO_INCREMENT, ";
+"`CODART` bigint(13) NOT NULL,";
+"`DETART` VARCHAR(50) NOT NULL,";
+"`CANTIDAD` DECIMAL(8,3) DEFAULT '0',";
+"`PUNIT` DECIMAL(10,2) DEFAULT '0.00', ";
+"`NETO` DECIMAL(10,2) DEFAULT '0.00', ";
+"`DESCUENTO` DECIMAL(10,2) DEFAULT '0.00', ";
+"`STOTAL` DECIMAL(10,2) DEFAULT '0.00', ";
+"`IVA` DECIMAL(10,2) DEFAULT '0.00', ";
+"`CODIVA` INT(2) DEFAULT '0', ";
+"`PTOTAL` DECIMAL(10,2) DEFAULT '0.00',";
+"PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8")
oApp:oServer:Execute("TRUNCATE ventas_det_h") // La vacio por si existia y tenia datos
oQryDet:= oApp:oServer:Query("SELECT * FROM ventas_det_h ORDER BY CODART") // La abro ordenada or CODART, aunque su indice natural es ID
Y en el transcurso del programa podes cambiarle el orden simplemente indicando por que campo
oQryDet:SetOrder("DETART",.T.)
Si la muestras en un xBrowse y defines el mismo AUTOSORT el usuario puede elegir libremente por que campo desear ordenarla haciendo click en el encabezado
Re: Mysql y Dbf
cuantos indices se pueden generar en una tabla normal y en una tabla temporal.
esto de abajo es lo que necesito hacer, abrir una tabla y el resultado de los grupos buscados pasarlo como item total a otra tabla temporal.
Tabla seria... codigo, marca, area, detalle, valor, cantidad... y debo ordenar por codigo, marca y area, para saber por esos grupos cuantos son y eso pasarlo a otra base temporal, que debe estar ordenada por codigo
Temporal codigo, marca, area, cantidad
Conta:=0
tabla:gotop()
do while .not. eof()
codigo:=tabla:codigo
do while .not. eof() .and. codigo:tabla:codigo
marca:=tabla:marca
do while .not. eof() .and. codigo:tabla:codigo .and. marca=tabla:marca
area:=tabla:area
do while .not. eof() .and. codigo:tabla:codigo .and. marca=tabla:marca .and. area=tabla:area
cuenta++
tabla:skip
enddo
if conta # 0
append blank
Replace temporal:codigo with codigo
Replace temporal:marca with marca
Replace temporal:area with area
Replace temporal:cantidad with cantidad
Endif
enddo
enddo
esta super resumido pero en lo general eso necesito hacer..
esto de abajo es lo que necesito hacer, abrir una tabla y el resultado de los grupos buscados pasarlo como item total a otra tabla temporal.
Tabla seria... codigo, marca, area, detalle, valor, cantidad... y debo ordenar por codigo, marca y area, para saber por esos grupos cuantos son y eso pasarlo a otra base temporal, que debe estar ordenada por codigo
Temporal codigo, marca, area, cantidad
Conta:=0
tabla:gotop()
do while .not. eof()
codigo:=tabla:codigo
do while .not. eof() .and. codigo:tabla:codigo
marca:=tabla:marca
do while .not. eof() .and. codigo:tabla:codigo .and. marca=tabla:marca
area:=tabla:area
do while .not. eof() .and. codigo:tabla:codigo .and. marca=tabla:marca .and. area=tabla:area
cuenta++
tabla:skip
enddo
if conta # 0
append blank
Replace temporal:codigo with codigo
Replace temporal:marca with marca
Replace temporal:area with area
Replace temporal:cantidad with cantidad
Endif
enddo
enddo
esta super resumido pero en lo general eso necesito hacer..
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Mysql y Dbf
Si lo que queres hacer es simplemente "mostrar" un resultado resumido en un xbrowse, lo que podes hacer es una query que contenga esa info y mostrarla.
Code: Select all | Expand
oQry := oServer:Query("SELECT codigo, marca, area, COUNT(codigo) as cantidad FROM tabla GROUP BY codigo,marca,area ORDER BY codigo")
xbrowse(oQry)
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Mysql y Dbf
Animo compañero!! Acá estamos para ayudarnos entre todos... Simplemente hay que sacarse el chip del dbf y ponerse el de MySql. En la web hay muchisima info. A veces lo que antes nos llevaba a tener que considerar un monton de campos e indices en nuestras aplicaciones, ahora el motor de MySql nos resuelve muchisimo la vida.
Cualquier duda no dejes de consultar.
Cualquier duda no dejes de consultar.