Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Error Eb Base De Datos Sqlite3
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Error Eb Base De Datos Sqlite3 
 
hola estoiy practicando y no se porque me sale este error al querer guardar info en la base sqlite3.
mi gambas es 2.19
mi error es: cannot create record: abort due to constraint violation

me indica con lugar en el codigo VarResult.Update

si alguien tiene alguna idea...


PUBLIC SUB BtnGuardar_Click()

  DIM VarResult AS Result
  VarResult = Conexion.Create("Contactos")
  VarResult["Nombre"] = txtNombre.Text
  VarResult["Apellido"] = txtApellido.Text
  VarResult["Fecha_Nacimiento"] = txtNacimiento.Text
  VarResult["Direccion"] = txtDireccion.Text
  VarResult["Telefono"] = txtTelefono.Text
  VarResult["Mail"] = txtMail.Text
  VarResult.Update
  TablaContactos = Conexion.Exec("Select * from Contactos")
  BtnGuardar.Visible = FALSE
  BtnCancelar.Visible = FALSE
  
END

 pantallazo

estoy usando ubuntu 10.4 version final

atte: sergio
 




===================
Atte: Sergio / HostinGlobal.Net
 
hostinglobal - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Error Eb Base De Datos Sqlite3 
 
Ese mensaje indica que intentas crear un registro que no cumple las relaciones de la base de datos (no tiene campo índice, o uno de sus campos es clave externa de otra tabla que no tiene registro relacionado, etc.) Si no nos pasas la estructura de tu base de datos no puedo decirte más.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Error Eb Base De Datos Sqlite3 
 
Hola!.

Yo tengo el mismo problema.

Aquí  puedes ver el tutorial:

http://www.mileti.com.ar/apuntes/gambas_sqlite.pdf

También estoy con la base de datos del libro de gambas y lo que encuentro es que el
botón de guardar del formulario FData funciona perfectamente pero luego no guarda los datos.

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
  
  TRY hConn.Exec("insert into datos values (&1,&2,&3,&4,&5)", TxtTitulo.Text, TxtAutor.Text, CDate(TxtFecha.Text), CFloat(TxtPrecio.Text), TxtDecripcion.Text)
  
 ENDIF
  
    ME.Close()
  
  CATCH
    Message.Error("Imposible introducir los datos solicitados")

END
 


"Editando" permite o bien editar los campos o crear un registro nuevo.
Puedo editar los registros desde el formulario Fdata, pero no crea uno nuevo desde el mismo.

Es en el Sqlite3. Los permisos de la base de datos son de lectura y escritura para el propietario,
para el grupo de lectura (también cambie esto, pero no funciono).

En cuanto a componentes activo gd.db. Antes activaba el de gd.db.sqlite3, pero parece que no es totalmente necesario,
que el propio interprete lo carga cuando le dices que tipo de bdd usas.
 




===================
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: Error Eb Base De Datos Sqlite3 
 
La variable "Editando" suponemos que es booleana y debería valer True al momento de insertar los datos. No sabemos donde has asignado su valor previamente, así que chequea ese detalle.

Por otra parte, y a menos que sea estrictamente necesario, evita las sentencias "Try", puesto que sin comprobar después si hay un error (con IF ERROR THEN...), nunca sabrás donde falla tu programa y se ejecutará hasta el final sin aparentes errores y sin poder determinar porqué no funciona.

Hay que tener en cuenta que el manejo de errores es una técnica que tiene su ciencia, no sólo sirve para hacer que nuestro programa "no se queje", sino que en cierto modo sirven como estructuras de control de flujo y por supuesto también para controlar errores "previstos". Lo ideal sería que no fueran necesarias porque nuestro programa estuviera suficientemente bien pensado como para no producirse ningún error, así que mi consejo (si se me permite darlo) es que no abuséis del TRY.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Error Eb Base De Datos Sqlite3 
 
Hola Jesus.

Pero es que no hay programa perfecto que no tenga errores cuando comienzas a hacerlo.

Entonces mas o menos se podría ver donde falla con mucha depuración (imagina si el programa es extenso   ).
Hoy te lanzan el programa al mercado y aun no ha sido ni finalizado de depurar, desde juegos a sistemas como
psss...wind..ejem.  

Que muchos miran antes el $ que al usuario.A saber la presión que tienen los programadores por parte del
que lo comercializa.

Lo que si veo del libro es que tiene sus fallos de imprenta, el código del programa de bdd es mas extenso.
Al final del tema, mete el código de los dos formularios y se olvidan de una comparación en el formulario principal
en la función que carga la base de datos.

Ejemplo:

if HConn then Return False

Así me da error. Cuando al principio se puso:

if HConn<>NULL then Return False

Realmente para los que empezamos nos quedamos a cuadro. Es como si tu maestro te enseñara con errores
y el alumno tuviera los mismos errores que su maestro.Y así en cadena.

Que si, que no somos perfectos.

En alguna parte del código del programa se cierra antes la base de datos, haciéndose nula la conexión y
no escribe el registro el formulario de entrada de datos.

Por la tarde cree una base muy simple y pude escribir registros en ella.

F8 es un ayuda.
 




===================
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: Error Eb Base De Datos Sqlite3 
 
Parece que le falta el campo clave.

Lo pone numérico en el ejemplo.

 TRY hConn.Exec("insert into datos values (&1,&2,&3,&4,&5)", TxtTitulo.Text, TxtAutor.Text, CDate(TxtFecha.Text), CFloat(TxtPrecio.Text), TxtDecripcion.Text)

Hay un parámetro de menos.

hConn.Exec("insert into datos values (&1,&2,&3,&4,&5,&6)",aqui, TxtTitulo.Text, TxtAutor.Text, CDate(TxtFecha.Text), CFloat(TxtPrecio.Text), TxtDecripcion.Text)

Probé a meter un numero que continuase con el numero de registros y funciono.
¿ Habria que saber el numero de registros e ir añadiendo ahí. ? ¿ Eso es necesario ?.¿ No lo hace automáticamente ?.

Encuentro también que cuando crea la base de datos con el gestor y comienza a mostrar las consultas en SQL.
Usa comillas doble y son simples.  

A toda una consulta que pone:

insert into datos values ("El lazarillo de Tormes","Anónimo",2005-02-03,20.91,"Novela")

Deberia ser:

insert into datos values ('indice' , 'El lazarillo de Tormes' , 'Anónimo' , '2005-02-03' , '20.91' , 'Novela')
 




===================
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: Error Eb Base De Datos Sqlite3 
 
hola  Shell

como estas. te cuento que cuando hice la pregunta esta era porque me salia un error al tratar de escribir en la base de datos.

lo único que hice para solucionar el error fue solamente dejar la key en autoincremento, y listo

lo otro y espero no tomes a mal lo que voy a decir, pero los libros como el libro de gambas no tienen errores, el libro es un libro de que lo único que hace el escritor es.

mostrar la cualidades de gambas, si bien es cierto lo demuestra con ejemplos prácticos que no tienen porque ser 100 por ciento funcional, la idea de cualquier maestro de buena calidad es dar una buena clase antes de la practica y si esto lo da el libro,

por lo que si hay errores en los ejemplos practico con el conocimiento adquirido anteriormente no tendrías problemas en saber donde esta el error y saber solucionarlo.

espero haberte ayudado. y no  te ofendas por mis palabras, que pienso lo mismo como dijo alguien por alli "Todos Somos Ignorantes lo que pasa que no todos Ignoramos la mismas Cosas",

Saludos.
 




===================
Atte: Sergio / HostinGlobal.Net
 
hostinglobal - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Error Eb Base De Datos Sqlite3 
 
el error que veo es de value que lo tienes separado y no coge la sentecia
values(&1,&2,&3)",text1.

y si lo tienes lo mismo del codigo que pone aqui
lo tienes asin
values (&1,&2,&3)",

y si no te sirve y a lo mejor digo una giglipollez pero en vez de Exec escribe exec haber si asin sale
 



 
david - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Error Eb Base De Datos Sqlite3 
 
Hola a todos.

David: No, no es eso.  

El fallo es la instrucción que no esta completa del todo.O que lo digan gente con mas idea que nosotros.
Estamos para equivocarnos y aprender.

Quillo, que chico es el mundo, no sabia que había gente de Cai por aquí.    
Que buen surtido de programación hay en el Puerto.

Sergio:
Efectivamente poniendo en auto el campo índice de la tabla de la agenda se soluciona el problema,
pero no lo rectifica el que lo crea, no se mejora. Pero añade en el pdf que es profesor y como decimos en Cadiz,"me tiro todo el pegote",
La solución era fácil.

Gracias al "profesor" Benotti encontrare una solución a la base del ejemplo del libro de gambas.
Su articulo también es breve y conciso.

Perdona que discrepe, pero el libro tiene sus errores.Y no me tomo a mal tu comentario.El manual de gambas
no es "la biblia de gambas".Y los escritores se equivocan, como me equivoco yo, como te equivocas tu, o el mas
listo entre los listos.

Es un manual sencillo y bueno.Un manual por el que pague 28€+gastos de envío.
La lastima es que no haya mas libros de gambas.Pero esto en el software libre parece un problema
bastante gordo, si no va acompañado de marcas que luego abandonan a su producto y a sus usuarios.
Asegurando la compatibilidad..pffffff.Aun asi, vuelven a picar y "viva la pepa",aplauden con las orejas
los de la gran marca.

Pero la corriente es comprar lo que compra lo que dice la gran empresa, por que quien
se va a gastar "los cuartos" en un proyecto que no esta avalado por el "$".Se arriesgan las empresas?,
los fabricantes?. Vamos a cambiar el mundo?.No ponen dinero, no hay mas material que el del tu a tu,
el que te tiras de cabeza a la piscina, luchando y defendiendo en lo que crees.

Lo único que pretendía era aprender a crear una base de datos en gambas.
No estoy quejoso de Gambas.Estoy quejoso de que al dar los primeros pasos, de traspiés.

Y continuar seria off-topic.

Un abrazo Sergio.

Y que me perdone el moderador que me estoy alargando un montón y estoy fuera de temática.  O:-)
 




===================
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 Base De Datos Sqlite3 Fedora 11 [solucionado] Erik Bases de Datos 3 Jueves, 16 Diciembre 2010, 02:11 Ver último mensaje
Erik
No hay nuevos mensajes Sqlite3: Extraordinario Tamaño De Una Bas... jsbsan Bases de Datos 6 Miercoles, 04 Marzo 2015, 14:15 Ver último mensaje
jsbsan
No hay nuevos mensajes Forma Correcta En La Conexion De Base De D... Lykan Bases de Datos 13 Miercoles, 29 Abril 2015, 22:25 Ver último mensaje
Lykan
No hay nuevos mensajes Pasar Base De Datos Sqlite3 A Excel pittusa Bases de Datos 7 Viernes, 19 Junio 2015, 08:28 Ver último mensaje
shordi
 

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