error en sqlite al aplicar INSERT INTO - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Bases de Datos (https://gambas-es.org/forum-6.html) +--- Tema: error en sqlite al aplicar INSERT INTO (/thread-1526.html) |
error en sqlite al aplicar INSERT INTO - alberto-moyano - 23-10-2023 Hola gente, tengo la siguiente situación en un formulario al levantarlo en el evento Open aplico un condicional que analice una tabla de la base de datos buscando un elemento en concreto (un nombre en un campo) si lo encuentra sigue, si no lo encuentra debe crear la fila, la BBDD no son mi fuerte y no entiendo el error, este es el código que estoy utilizando, alguna idea Gracias de antemano Código: If Conn Then RE: error en sqlite al aplicar INSERT INTO - Harpo - 23-10-2023 No dices qué error se produce, si falla en la inserción del registro por una restricción de base de datos, en principio las sentencias parecen bien construidas. Entiendo que "Contenido" es un Result. Yo suelo añadirle una condición más cuando compruebo resultados en esa clase, compruebo que Result.Count sea mayor que cero. Saludos, Harpo. RE: error en sqlite al aplicar INSERT INTO - alberto-moyano - 23-10-2023 Hola Arpo, el error que tengo es que la consulta después del Else es violatoria, por lo que vengo leyendo está relacionado con el Id que es incremental, seguiré haciendo pruebas. Sí cargo un campo nombreArchivo por fuera y ejecuto el formulario no obtengo errores, quiero decir el error está centrado en el INSERT. Sls RE: error en sqlite al aplicar INSERT INTO - tincho - 23-10-2023 (23-10-2023, 21:44)alberto-moyano escribió: por lo que vengo leyendo está relacionado con el Id que es incremental Si creo que vas bien encaminado por ahí. si podes abri la base de datos (supongo que es sqlite) y copia la sentencia de creacion de la tabla "metadatos" y ponela aca en el hilo, asi podemos ver mas detalle. si la table tiene un campo autoincremental la sentencia la tenes que poner así: [code] Donde null tiene que estar para que la base "sepa" que tiene que poner un nuevo id Tambien tenes que fijarte que "FMain.rutaNAME" no exista en la base porque si es un campo de valores únicos también te salta error. RE: error en sqlite al aplicar INSERT INTO - Harpo - 24-10-2023 Cómo dice Tincho sería interesante ver la sentencia de creación de la tabla. En sqlite nunca he incluido el campo autoincremental a NULL en una sentencia INSERT, la base de datos ya lo gestiona por si misma. Si la sentencia de creación de la tabla es como esta: Código: CREATE TABLE Metadatos ( Al intentar insertar registros con el mismo valor en el campo nombreArchivo le dará error. Si en algún momento FMain.rutaNAME estaba vacío insertó un valor ".tex" en la tabla, si se repite la situación la segunda vez dará error por la restricción UNIQUE en el campo. Sobre el código que utiliza le recomiendo la siguiente modificación: Código: Dim sFile As String Saludos, Harpo. RE: error en sqlite al aplicar INSERT INTO - alberto-moyano - 24-10-2023 Gracias Harpo y Tincho, ya quedo solucionado. Terminé el software, solo me falta decidir que parte sí y que parte no, implementar de la normativa NISO para el archivo .tex de salida. Cuando termine de implementar esto lo subo a la granja junto con un video demostrativo, el soft es MUY específico y se instalan muchas dependencias (por eso el video, para que no tengan que instalar todo lo necesario para usarlo a menos que lo deseen). Ha sido una grata experiencia aprender Gambas a medida que hacía el desarrollo y este foro ha sido de gran ayuda. |