|
Página 2 de 2
|
Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un...
Autor |
Mensaje |
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un Formulario
digamos sql el 90% es igual en sql basico
pero existen algunas diferencias
como las comillas simbolos como los * y % y algunas palabras-funciones
en este caso es mejor pasar las sentencias sql a un string
para sacarlas de gambas e ir probandolas de a poco
en un editor de consultas sql
|
#11 Jueves, 10 Abril 2014, 22:28 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un Formulario
Try hconn.EXEC("insert into servicios values (&1,&2,&3,&4,&5,&6,&7,&8,&9,&10,&11,&12,&13)",
Leonel, en ese código hay un error que pocos habrán advertido... cuando se usan comodines para sustituir campos en las sentencias sql, a partir del décimo comodín hay que ponerlo entre llaves. Así:
Try hconn.EXEC("insert into servicios values (&1,&2,&3,&4,&5,&6,&7,&8,&9,&{10},&{11},&{12},&{13})",
Aparte del objeto nulo, supongo que el result o la conexión, esto también iba a ser causa de errores.
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"
|
#12 Jueves, 10 Abril 2014, 22:41 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un Formulario
Citar: no sabía que el sql cambiara
Hay sentencias cuya sintáxis puede variar mucho, por ejemplo, cito de memoria, creo que el update en sqlite es bastante diferente del de mysql...
y variantes del Insert en mysql que no existen en sqlite, etc.
Con los objetos de gambas te ahorras problemas.
|
#13 Jueves, 10 Abril 2014, 23:25 |
|
|
leonel
Usuario
Registrado: Abril 2014
Mensajes: 31
Edad: 35
|
Re: Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un Formulario
última edición por leonel el Viernes, 11 Abril 2014, 15:20; editado 1 vez
|
#14 Viernes, 11 Abril 2014, 15:20 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un Formulario
Lionel, tienes que repasar y probar mucho más tu código, por ejemplo:
Public Sub Form_Open()
Dim Clave As String
Dim filtro As String
tabla.Clear
Me.center
If Not Exist(User.home & "/" & ".visor/ipostel") ' te falta el then
Try Mkdir User.Home & "/" & " leonel" ' Para qué quieres una carpeta llamada leonel? Por qué le pones el Try ¿no quieres saber si hay error? ¿cómo va a funcionar bien si hay errores y no lo sabes?
Copy "ipostel" To User.home & "/" & ".visor/ipostel" ' No existe .visor en mi máquina
Endif
ComboBoxbsucarp
O esto:
Public Sub ConectarBase() As Boolean
If hconn <> Null Then Return False '...¿y si no es nulo, pero no está abierta qué?
hconn = New Connection
hconn.Host = User.Home & "/" & "Escritorio" ' Al abrir el programa la base la copiaste a user.home/.visor/ipostel ¿cómo la buscas ahora en el Escritorio?
hconn.name = User.Home & "/" & "Escritorio/ipostel" 'ya pusiste el path en la propiedad Host ¿para qué lo repites en el name? Aquí sólo deberías poner "ipostel"
hconn.type = "Sqlite3"
Try hconn.Open() 'otra vez el try. Si falla no te enteras y retornas una conexión existente (que no es nula, ver tres comentarios más arriba) y cerrada.
Return hconn
If Error Then 'esto no hace nada, porque no hay nada entre el if y el endif y, además, no se va a ejecutar nunca porque está después del comando Return, que acaba el procedimiento
Endif
hconn = Null 'esto tampoco se va a ejecutar nunca
Message.Error("error al conectar con la base") 'ni esto
Return True 'ni esto
Return False 'ni esto, que tampoco tiene sentido ninguno porque acabas de retornar cierto.
End
|
#15 Viernes, 11 Abril 2014, 18:05 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemática Al Insertar Valores En Una Base De Datos Sqilte 3 Mediante Un Formulario
No he mirado más, pero deduzco que la conexión te ha fallado y es nula cuando intentas actualizar la tabla y no te has enterado porque lo llenas todo de Try....
Debes ser un poco más cuidadoso con tu código.
Espero que los comentarios te hayan servido de ayuda.
Saludos.
|
#16 Viernes, 11 Abril 2014, 18:08 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 2 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|