Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas 
 
Buenas!

Bien. Primero, necesitamos el ejemplo original. Ponerle un buen nombre, si hace falta cambiarlo.
Aquí esta el que escribí en su día, el que usa el manual de Gambas.

Ok, hay una línea que tuve que cambiar en su día.
No sé si es ahora necesario. El ejemplo usaba como campo clave el titulo del libro.

Public Sub BtnAceptar_Click()

  If Editando Then
    Try HResul["titulo"] = TxtTitulo.Text
    Try HResul["autor"] = TxtAutor.Text
    Try HResul["fecha"] = TxtFecha.Text
    Try HResul["precio"] = TxtPrecio.Text
    Try HResul["descripcion"] = TxtDecripcion.Text
    Try HResul.Update()
  Else
  'Problema del campo clave
   'TRY hConn.Exec("insert into datos values (&1,&2,&3,&4,&5)", TxtTitulo.Text, TxtAutor.Text, CDate(TxtFecha.Text), CFloat(TxtPrecio.Text), TxtDecripcion.Text)
    Try hConn.Exec("insert into datos values (&1,&2,&3,&4,&5,&6)", Null, TxtTitulo.Text, TxtAutor.Text, CDate(TxtFecha.Text), CFloat(TxtPrecio.Text), TxtDecripcion.Text)
  
  Endif
  
    Me.Close()
  
  Catch
    Message.Error("Imposible introducir los datos solicitados")

End
 


Mí idea es que tomemos el ejemplo base y vayamos creando modificaciones, que las vayamos demostrando de alguna manera como mejora el código original.
Lo importante es dejar bien claro el motivo de por que se hace , la mejora y que el programador aprenda de esas mejoras. Que las pruebe y las vea.

El siguiente paso después de haber mejorado este ejemplo. Es la creación de un nuevo ejemplo en el que tengamos dos tablas, libros y autores
Hacer unas operaciones básicas. Cómo debemos administrar nuestras consultas, como podríamos aprovechar una consulta y que nos valga como base
para crear otras.

Y así poco a poco ir mejorando el ejemplo original. Tener distintos ejemplos del mismo que vaya avanzando en la comunidad,
ver los pasos como ha ido cambiando, que pueda bajarlo todo el que quiera y que tengamos un buen ejemplo todos los gamberos con
el que empezar el tema de base de datos.

Podemos decir por que es mejor usar un componente que otro para mostrar los datos.
Que mejoras tiene si usas uno u otro. Lo que se nos vaya ocurriendo.

Desde luego con el ejemplo original se van encontrar distintos problemas:
La fecha, el cierre de la conexión constante, el tipo de componente para mostrar los registros,
su estética, etc, etc.

Espero que os guste la idea.

Saludos

MisLibros.tar.gz
Descripción:  
Descargar
Nombre del archivo: MisLibros.tar.gz
Tamaño: 16.38 KB
Descargado: 64 veces
MisLibros.tar.gz
Descripción:  
Descargar
Nombre del archivo: MisLibros.tar.gz
Tamaño: 16.38 KB
Descargado: 64 veces
MisLibros.tar.gz
Descripción:  
Descargar
Nombre del archivo: MisLibros.tar.gz
Tamaño: 16.38 KB
Descargado: 64 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 20 Octobre 2016, 23:44; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas 
 
Shell, no es ejecutable el proyecto porque no contiene la base de datos.
Cópiala dentro del propio proyecto y extráela en una carpeta en la primera ejecución. Si no es un ejemplo no funcional que no sirve para nada a un novato.

public sub Form_Open()
  if not exist(user.Home &/ "." &/ Aplication.name) then
       mkdir user.Home &/ "." &/ Aplication.name
       copy "libros.db" to user.Home &/ "." &/ Aplication.name&/
  endif
end


Más o menos, que lo he escrito al vuelo...

Por otra parte ColumnView nunca me ha gustado... es un control complejo (hereda de treeview que a su vez hereda de Gridview)

Mucho mejor transformar el ejemplo para Gridview, que es un control mucho más común y útil.

Es sólo una sugerencia, claro.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas 
 
Shordi:

Hay algo que no funciona en ese código de copiar la base de datos.

Citar:

Más o menos, que lo he escrito al vuelo...


¿ Puedes rectificarlo ?.  

He usado esto:

If Not Exist(user.Home &/ "." &/ Application.name) Then
       Mkdir user.Home &/ "." &/ Application.name
       'Error Fin de archivo inesperado
       Copy "libros.db" To user.Home &/ "." &/ Application.name
  Endif
 


¿ Copy no debería ser ?.

Copy "libros.db" To user.Home &/ "." &/ Application.Name &/ "libros.db"
 


De todas maneras tengo un directorio oculto MisLibros y no .MisLibros

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 20 Octobre 2016, 21:35; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas 
 
Citar:

¿ Copy no debería ser ?.

Copy "libros.db" To user.Home &/ "." &/ Application.Name &/ "libros.db"


Pues posiblemente, escribir al vuelo es escribir al vuelo.

Citar:
De todas maneras tengo un directorio oculto MisLibros y no .MisLibros

Si no empieza por punto no es oculto... digo.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas 
 
Citar:

Pues posiblemente, escribir al vuelo es escribir al vuelo.


Una pregunta. ¿ Te gustaba mucho grabar on the fly ?.  
( Pues era jodido, te exponías a quedarte sin cd o dvd ). Aventurero!.

Al final mientras veía Theory of Big Bang. Invente este ejemplo:

Public Sub Copiar()
  
  If Not Exist(User.Home &/ "." & Application.Name) Then
    Print "Creando el directorio " & User.Home &/ "." & Application.Name
    Mkdir User.Home &/ "." & Application.Name
    Print "Copiando el archivo"
    Copy "datos" To User.home &/ "." & Application.Name &/ "datos"
    Print "Directorio y archivo creado"
  Else
    Print "Directorio y archivo ya estaban creados"
  Endif
  
End
 


Citar:

Si no empieza por punto no es oculto... digo.


Normal. Raro, raro, raro.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Poniendo Al Día El Ejemplo De Base De Datos Del Manual De Gambas 
 
Bueno. Ya tiene añadido la creación del directorio y copia la base de dato que incluye el proyecto,
con unos cuantos títulos.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ejemplo De Base De Datos En Libro No Funci... Shell Bases de Datos 2 Viernes, 23 Septiembre 2011, 13:25 Ver último mensaje
Shell
No hay nuevos mensajes Manual Basico Y Ejemplo De: Uso De Clases,... jsbsan General 2 Domingo, 25 Diciembre 2011, 14:06 Ver último mensaje
Oleguer
No hay nuevos mensajes Manual De Base Datos Shell Bases de Datos 4 Domingo, 30 Junio 2013, 08:39 Ver último mensaje
shordi
No hay nuevos mensajes Aqui Les Dejo Un Ejemplo Sobre Como Usar S... inkbell14 Aplicaciones/Fragmentos de Código 1 Miercoles, 01 Octobre 2014, 12:08 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron