Te recomendaria usar directamente SQLSelect y no SQLTable.
Vas a tener que aprender un poco de SQL pero no es muy complicado.
Hay que tener en cuenta cuando se quiere trabajar con una verdadera base de
datos como MySql, que la manera de acceder a los datos es muy diferente a la
acostumbrada con tablas DBF. Por lo tanto es muy probable que haya que
cambiar el codigo para visualizar los datos obtenidos e inclusive la logica.
Mi respuesta anterior fue hecha suponiendo que usarias SQLSelect y
sentencias SQL. No estoy seguro si tiene validez para una SQLTable ya que
nunca las use.
La pregunta es: Estas usando MySql solamente para poder usar los campos BLOB
o por algun otro requerimiento?
Porque te comento que yo he usado dbf comunes (cdx) para guardar todo tipo
de archivos binarios (jpg, pdf, etc) sin problema...
GB
----- Original Message -----
From: "ggvigo" <ggvigo@...>
To: <guvoaII@...>
Sent: Friday, December 02, 2005 8:51 PM
Subject: [guvoaII] Como Gravar en MySQL
B.dia,
Me podrian orientar como gravar en MySQL
tengo el siguiente metodo y no puedo gravar.....
METHOD GrabarPB( ) CLASS WinCrearCta
LOCA oSrvUsuario AS Usuario
//Creamos servidor MYSQL usuario y lo conectamos
oSrvUsuario := Usuario{ #Usuario,MyConeccionSQL }
....
// Confirmamos validaciones
...
// como es posible que tarde, ponemos un reloj de arena
SELF:pointer := pointer{POINTERHOURGLASS}
// ... si hemos pasado todas las validaciones, añadimos el
registro ...
oSrvUsuario:Append()
oSrvUsuario:FIELDPUT(#PasUsu, SELF:oDCXpasusu:??)//10 STRIN
oSrvUsuario:FIELDPUT(#NomUsu, SELF:oDCXnomusu:??)//30 STRIN
oSrvUsuario:FIELDPUT(#ApeUsu, SELF:oDCXapeusu:??)//30 STRIN
oSrvUsuario:FIELDPUT(#DNIUsu, SELF:oDCXdniusu:??)//8 STRIN
oSrvUsuario:FIELDPUT(#FotUsu, SELF:oDCXfotusu:??)//18 LONGBLOB
oSrvUsuario:Commit()
//Descargamos los controles
............
//oSrvUsuario:Close()
SELF:pointer := pointer{POINTERARROW} // dejamos el puntero
como estaba
RETU SELF
-------------------------------
GB, podrias ampliar tu respuesta, sobre las imagenes (Tampoco puedo
implementar em metodo)
Saludos,
GVigo
--- En guvoaII@..., "Gustavo Biasone" <gb_guvoa@f...>
escribió:
> Para guardar una imagen en un campo de una base de datos MySql
primero tendras que crear una tabla con un campo tipo BLOB (o
LONGBLOB) donde almacenar esta data. Luego leer el archivo .bmp (o
cualquier tipo de imagen, esto es irrelevante) en forma binaria, esto
puede hacerse con FRead() y finalmente grabar el string obtenido en el
campo de la tabla con un simple INSERT.
> Tambien podria hacerse con MemoRead(), siempre que sean archivos
chicos.
> Esta tabla podria tambien tener otros campos que describan al
archivo original, como ser nombre completo, tamaño, etc.
> Luego para extraer el archivo habria que hacer la operacion inversa,
esto es leer el string desde el campo BLOB y crear el archivo con
FWrite().
>
> GB
>
Enlaces de Yahoo! Grupos