Problema Con Formulario Al Conectar A Base De Datos


Objetivo: Problema Con Formulario Al Conectar A Base De Datos
hola a todos tengo un porblema estoy creando un formulario en gambas 2 y sqlite3 estoy viendo como es que se hace segun un manual llamado "gambas 2 sqlite"

el cual utiliza el gestor de base de datos de gambas2 ,bueno hize todos los procedimientos y lo convierto en un archivo ejecutable pero cuando le doy a un boton , ya sea guardar, borrar , ect ,me sale un error casi son todos parecidos "this application has an unexpected error and must abort" -1 cannont crate : abort due to constraint violation FMain.?..0

no tengo idea que sea el problema , ya busque el codigo fuente y nada

aqui esta el codigo fuente:

PRIVATE Conexion AS Connection
PRIVATE Tablacontactos AS Result
PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()
Conexion = NEW Connection
Conexion.Type = "sqlite3"
Conexion.Host = "/home/luis/Escritorio/sdafsdfsd"
Conexion.Name = "agenda2"
TRY Conexion.Open()
IF ERROR THEN
Message.Error("Error al conectar a la base de datos.")
Conexion = NULL
ELSE
Tablacontactos = Conexion.Exec("Select * from contactos")
IF Tablacontactos.Available THEN MostrarCampos
END IF

END
PUBLIC SUB MostrarCampos()
nombre.text = Tablacontactos["nombre"]
apellido.text = Tablacontactos["apellido"]
cedula.text = Tablacontactos["cedula"]


END

PUBLIC SUB primero_Click()

Tablacontactos.Movefirst()
MostrarCampos


END

PUBLIC SUB anterior_Click()

Tablacontactos.MovePrevious()
IF NOT Tablacontactos.Available THEN Tablacontactos.Movefirst()
MostrarCampos


END

PUBLIC SUB siguiente_Click()
Tablacontactos.MoveNext()
IF NOT (Tablacontactos.Available) THEN Tablacontactos.MoveLast()
MostrarCampos


END

PUBLIC SUB ultimo_Click()

Tablacontactos.MoveLast()
MostrarCampos


END



PUBLIC SUB cancelar_Click()

guardar.Visible = FALSE
cancelar.Visible = FALSE
MostrarCampos


END

PUBLIC SUB guardar_Click()

DIM VarResult AS Result
VarResult = Conexion.Create("contactos")
VarResult["nombre"] = nombre.Text
VarResult["apellido"] = apellido.Text
VarResult["cedula"] = cedula.Text
VarResult.Update
Tablacontactos = Conexion.Exec("Select * from contactos")
guardar.Visible = FALSE
cancelar.Visible = FALSE


END

PUBLIC SUB nuevo_Click()

guardar.Visible = TRUE
cancelar.Visible = TRUE
nombre.text = ""
apellido.text = ""
cedula.text = ""

END

PUBLIC SUB modificar_Click()
DIM VarResult AS Result
VarResult = Conexion.Edit("contactos", "id=" & Tablacontactos["id"])

VarResult["nombre"] = nombre.text
VarResult["apellido"] = apellido.text
VarResult["cedula"] = cedula.text
VarResult.Update
Tablacontactos = Conexion.Exec("Select * from contactos")



END


PUBLIC SUB eliminar_Click()

DIM VarResult AS Result
IF Message.Question("¿Desea eliminar el registro?", "Si", "No") = 1 THEN
VarResult = Conexion.edit("contactos", "id=" & Tablacontactos["cedula"])
VarResult.Delete
Tablacontactos = Conexion.Exec("Select * from contactos")
END IF


END

PUBLIC SUB salir_Click()

ME.Close
END
PUBLIC SUB Form_Close()
IF Message.Question("¿Desea salir del programa?", "Si", "No") = 2 THEN
STOP EVENT
ELSE
Conexion.Close
END IF


END


les agrdesco que me digan que esta bien o mal en este codigo y que es lo que genera ese error

QUi esta el codigo que me presenta problema

última edición por metalgearxd el Jueves, 31 Enero 2013, 12:48; editado 2 veces
Perfil MP  
Objetivo: Re: Yo Otra Vez Ayuda Por Favor
No sé en que manual te basaste, desde luego no es el que te dejó el enlace Jesús para descargar, tienes en ese un ejemplo muy simple y "paso a paso" y estoy seguro de que funciona(pues yo lo hice).
Para ayudarte a buscar el error lo mejor es que crees un archivo fuente de tu programa y lo subas como adjunto.Para crearlo vas a proyecto-->crear-->archivo fuente. Así es más fácil probarlo y buscar el error.
Por otra parte tienes ese y otros ejemplos con bases de datos en mi blog, que ya sé que lo visitaste por el nombre raro de tu firma.
Saludos

Objetivo: Re: Yo Otra Vez Ayuda Por Favor
Dani26 escribió: [Ver mensaje]
No sé en que manual te basaste, desde luego no es el que te dejó el enlace Jesús para descargar, tienes en ese un ejemplo muy simple y "paso a paso" y estoy seguro de que funciona(pues yo lo hice).
Para ayudarte a buscar el error lo mejor es que crees un archivo fuente de tu programa y lo subas como adjunto.Para crearlo vas a proyecto-->crear-->archivo fuente. Así es más fácil probarlo y buscar el error.
Por otra parte tienes ese y otros ejemplos con bases de datos en mi blog, que ya sé que lo visitaste por el nombre raro de tu firma.
Saludos


no este es otro

una duda este codigo de coneccion a base de datos :
"PRIVATE Conexion AS Connection
PRIVATE Tablacontactos AS Result"

puede ir arriba de :

public sub_new()

??


hay esta el archivo que me presenta problema

última edición por metalgearxd el Jueves, 31 Enero 2013, 01:35; editado 1 vez
Perfil MP  
Objetivo: Re: Yo Otra Vez Ayuda Por Favor
Sí, Está bien declararlo al principio. El public sub_new puedes eliminarlo junto con su end, ya que no ejecuta código alguno.
Veré si puedo hacerme un rato para revisar tu código.
Saludos
PD: carga algunos datos a la base y nos cuentas

última edición por Dani26 el Jueves, 31 Enero 2013, 02:57; editado 1 vez
Objetivo: Re: Yo Otra Vez Ayuda Por Favor
Dani26 escribió: [Ver mensaje]
Sí, Está bien declararlo al principio. El public sub_new puedes eliminarlo junto con su end, ya que no ejecuta código alguno.
Veré si puedo hacerme un rato para revisar tu código.
Saludos
PD: carga algunos datos a la base y nos cuentas


bueno ingrese los datos manualmente del la base de datos del gestos de base de datos de gambas sqlite3 y bien , pero el porblema es el formulario al ejecutarlo y ingresar datos toco cualquier boton y me salen ese error y despues se cierra la aplicacion

última edición por metalgearxd el Jueves, 31 Enero 2013, 03:26; editado 1 vez
Perfil MP  
Objetivo: Re: Yo Otra Vez Ayuda Por Favor
metalgearxd:

Tu aplicación no me da error.Cuando ingresas un registro si da error, pero no el del formulario.
Ve a la base de datos y cambia el campo clave id al tipo serial por ejemplo para que sea actualice
el campo id automáticamente.

Otra cosa que tienes que aprender que es una ruta absoluta y una ruta relativa.
No puedes establecer una ruta que solo funciona en tu ordenador.(Para el futuro)

Realmente tu campo clave seria la cédula.Solo existe una por persona.

No existe error.Pues toca decir que versión usas de Gambas3
y que sistema estas usando y versión.


Saludos

Objetivo: Re: Yo Otra Vez Ayuda Por Favor
metalgearxd:

Cuando Shell dice:

Citar:
Otra cosa que tienes que aprender que es una ruta absoluta y una ruta relativa.
No puedes establecer una ruta que solo funciona en tu ordenador.(Para el futuro)


Se refiere a esta linea de tu codigo:
Conexion.Host = "/home/luis/Escritorio/sdafsdfsd"


Tendrias que poner:
Conexion.Host = user.home & "/Escritorio/sdafsdfsd"


De esa manera a otros usuarios que usen la base de dato que este en su ordenador no le dará problemas, ya que user.home contiene la ruta del usuario actual del sistema.

Nota:
Otro cosa distinta es que tuvieras un ordenador "servidor" donde todos los usuarios de tu intranet red accedieran a tu base de dato. En ese caso, puedes compartir tu carpeta para que todo el mundo tenga acceso.
Lo puedes ver en esta enlace como se haria:
http://jsbsan.blogspot.com.es/2011/...edes-linux.html

Ah!!, otro cosilla, edita el titulo de tu post, poner "Yo Otra Vez Ayuda Por favor", no explica nada, pon algo relacionado con tu problema.

Objetivo: Re: Yo Otra Vez Ayuda Por Favor
Añado un pequeño consejo: Aunque el 90% del código que hagas con gambas2 te vale para gambas3, gambas2 está ya obsoleto (ubuntu ha dejado de incluirlo en sus repositorios a partir de la versión 12.10 y la librería qt3 en la que se basa está también deprecada obsoleta), debería iniciarte con gambas3, que el esfuerzo de aprendizaje es el mismo y al final estarás al día.

Los repositorios PPA de nemh (busca el enlace en la web de gambas) funcionan muy bien en ubuntu 12.04 y te proveen de la última versión estable.

Saludos.

Perfil MP  
Objetivo: Re: Yo Otra Vez Ayuda Por Favor
jsbsan escribió: [Ver mensaje]
metalgearxd:

Cuando Shell dice:

Citar:
Otra cosa que tienes que aprender que es una ruta absoluta y una ruta relativa.
No puedes establecer una ruta que solo funciona en tu ordenador.(Para el futuro)


Se refiere a esta linea de tu codigo:
Conexion.Host = "/home/luis/Escritorio/sdafsdfsd"


Tendrias que poner:
Conexion.Host = user.home & "/Escritorio/sdafsdfsd"


De esa manera a otros usuarios que usen la base de dato que este en su ordenador no le dará problemas, ya que user.home contiene la ruta del usuario actual del sistema.

Nota:
Otro cosa distinta es que tuvieras un ordenador "servidor" donde todos los usuarios de tu intranet red accedieran a tu base de dato. En ese caso, puedes compartir tu carpeta para que todo el mundo tenga acceso.
Lo puedes ver en esta enlace como se haria:
http://jsbsan.blogspot.com.es/2011/...edes-linux.html

Ah!!, otro cosilla, edita el titulo de tu post, poner "Yo Otra Vez Ayuda Por favor", no explica nada, pon algo relacionado con tu problema.

ok , gracias por aclararme esa duda y gracias a todos por los consejos que me dieron

ya el sistemita de me dejo de dar ese error ya guarda he imprimer el resultado en la base de datos , ahora ya entiendo un poco como es esto

gracias

Perfil MP  

Página 1 de 1


  
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
No puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1088s (PHP: -15% SQL: 115%)
Consultas SQL: 24 - Debug off - GZIP Activado