Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 3 de 3
Ir a la página Anterior  1, 2, 3
 
Crear Un Juego A Base De Preguntas Y Respuestas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
jguardon escribió: [Ver mensaje]
Yo utilizo algo mucho más confiable para determinar si la base de datos es la correcta.

En tu base de datos sqlite puedes establecer el valor de Pragma user_version igual a un número entero que te permite determinar la versión de tu base de datos. Luego en tu programa compruebas la versión y si es menor, actualizas o avisas al usuario.

Un sencillo ejemplo:

Dim dbVersion as Integer

' para establecer el valor de la versión (numero entero)
' cuando creas las tablas
conexion.Exec("PRAGMA tu_database.user_version = &1;", dbVersion)

' para obtener la versión de la base de datos
dbVersion = conexion.Exec("PRAGMA tu_database.user_version;")


El uso final puede variar en tu caso, pero esas son las líneas generales.

Este método es mucho más seguro que comparar el tamaño de la bd.

Mucha más información de los pragmas en ésta web: https://www.sqlite.org/pragma.html#pragma_schema_version

Saludos


estas seguro que funciona porque esto: conexion.Exec("PRAGMA tu_database.user_version;" el resultado de esto es una variable de tipo result
y vos usas dbversion que es de tipo integer?????  

estoy haciendo pruebas para dar con el código exacto

necesito el código para leer y dejar en una variable el entero que se encuentra en :  user_version
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
buenas,

mi intención es crear un botón para ingresar numero de versión de la base de datos en la ventana donde esta la información del programa.
pero este botón estará oculto al usuario, pues es solo para el programador para asignar numero de versión de base de datos.
sera un botón y label donde se visualizara la versión de la base de datos.

 newversion

en fin sigo buscando como se hace...  

si alguien puede hechar luz sobre este tema se los agradezco,
pues es algo básico en base de datos algo que todos deberíamos tener a mano para entender como es.

Editado 2:

desde la consulta sql de gambas funciona esto:

asignar version: PRAGMA user_version=40

leer version: PRAGMA user_version

sin embargo intento asignar por medio de codigo con esto:

Public Sub btnInsertarVersion_Click()
Dim NumVersion As Integer

NumVersion = InputBox("Inserte número de nueva versión", "Autentificación")

FMain.Conexion.Exec("PRAGMA user_version=&1", NumVersion)

End


pero no funciona      
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Miercoles, 19 Agosto 2015, 16:49; editado 2 veces 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
Adjunto tienes un proyecto de ejemplo de cómo se hace.

versionBD-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: versionBD-0.0.1.tar.gz
Tamaño: 4.24 KB
Descargado: 17 veces
versionBD-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: versionBD-0.0.1.tar.gz
Tamaño: 4.24 KB
Descargado: 17 veces
versionBD-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: versionBD-0.0.1.tar.gz
Tamaño: 4.24 KB
Descargado: 17 veces

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
Excelente sensei !!! muchas gracias.

asi quedo el codigo:


Public Sub Form_Open()
     QueVersionBaseDatos()
End

Public Sub QueVersionBaseDatos()
  Dim resultado As Result
  resultado = FMain.Conexion.Exec("pragma user_version")
  txtLDBVersion.Text = "Versión BD:" & resultado!user_version
End

Public Sub btnInsertarVersion_Click()
    Dim resultado As Result
    Dim NumVersion As Integer
    
    resultado = FMain.Conexion.Exec("pragma user_version")
    NumVersion = resultado!user_version + 1
    FMain.Conexion.Exec("pragma user_version = &1", NumVersion)
    QueVersionBaseDatos()

End



saque todo el código de la conexión pues mi base de datos se conecta al abrir el programa y se desconecta antes de cerrar el programa.

Gracias a jguardon, gracias shordi a seguir programando que con gambas es una papa!!  
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Miercoles, 19 Agosto 2015, 17:35; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
buenas,

bueno mas o menos aprendí lo de pragma que supongo también sirve para funciones.

ahora bien tengo que comparar la base de datos de la carpeta de trabajo del programa con la base de datos del proyecto (que esta en el propio ejecutable internamente, después que esta instalado el programa)

lo único que se me ocurre es copiar la base de datos del proyecto como archivo temporal en algún lado que podría ser user.home,
hacer la comparación, y después eliminar este archivo temporal. algo así  

temp puede ayudar creo  

que piensan ustedes?
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
No entiendo muy bien lo que pretendes hacer con estode las actulizaciones de la BD:
¿Vas a actualizar la BD cada vez que haya un bug en el programa?
¿Vas a enviarle al usuario un paquete con la BD actualizada y crear un módulo que las compare?
¿Vas a colocar en la red la BD actualizada y el usuario se la descargará cuando quiera?
¿Vas a controlar el número de user_version de la BD cada vez que el usuario la modifique o vas a controlarla sólo tú en tus actualizaciones?
etc. etc.

Si describieses lo que quieres hacer con todo detalle podríamos ayudarte mejor.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
buenas,

el proceso sera este:

la rutina verifica si existe la base de datos, si no existe hace una copia (parte fácil)
si existe ejecuta un pragma a la base existente y la compara con el resultado de pragma a la base de datos interna del proyecto (que ni idea como se hace)

si es menor , eliminar y hacer una copia, si es igual no hacer nada.

la otra seria poner el numero de versión manual en cada versión nueva que sale.

no se no tengo mucha claridad en este asunto  
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Miercoles, 26 Agosto 2015, 12:34; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crear Un Juego A Base De Preguntas Y Respuestas 
 
buenas,

bueno encontre una solución de novato... pero anda.

If Not Exist(RutaBD) Then
      ExisteBaseDatos()
  Else
      Conectar()
      Sobre.QueVersionBaseDatos()
      If VersionDB < 34 Then '  aquí es donde tengo que modificar manualmente en cada versión nueva (el 34)
        Message.Info("Se actualizará la base de datos..." & gb.NewLine & "Base antigua: " & VersionDB & gb.NewLine & "Última versión: " & 34) 'aquí también
        ActualizarBDbiblia()
      Endif
  Endif


Public Sub QueVersionBaseDatos()
  Dim resultado As Result
  resultado = FMain.Conexion.Exec("pragma user_version")
  FMain.VersionDB = resultado!user_version
  txtLDBVersion.Text = "Versión BD:" & FMain.VersionDB
End



la versión 0.3.5 tiene la versión 33 la próxima que voy a sacar tendrá la 34
las versiones anteriores que no tienen user_version al consultar da 0 por lo tanto actualizara.

jajaj voy resolviendo a los tortasos, y bueno ser novato no es fácil jajajjaj  
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - 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 Arbol Binario: El Juego De Las Preguntas Y... jsbsan Aplicaciones/Fragmentos de Código 0 Lunes, 13 Agosto 2012, 16:19 Ver último mensaje
jsbsan
No hay nuevos mensajes Crear Un Juego De Memoria En Gambas gamasuser1093 Videotutoriales 2 Domingo, 30 Noviembre 2014, 10:16 Ver último mensaje
Shell
No hay nuevos mensajes Creación De Un Juego Didáctico: Pregunta... jsbsan Videotutoriales 4 Domingo, 08 Marzo 2015, 04:17 Ver último mensaje
portaro
No hay nuevos mensajes Blocky Games. Crear Un Juego Con Bloques D... Shell General 0 Jueves, 26 Julio 2018, 07:48 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 3 de 3
Ir a la página Anterior  1, 2, 3

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