No Introduce Los Datos Base De Datos
Artículo |
No Introduce Los Datos Base De Datos
|
estoy experimentando con base de datos sqlite3 y me surgio un problema y es que no introduce datos nuevos si los modificados
mas abajo muestro la linea que me parece da el problema de sintaxis creo... alguna idea de cual sera el problema?
Public Sub BtnAceptar_Click()
If Editando Then
Try hResul["id"] = TxtID.Text
Try hResul["Cliente"] = TxtCliente.Text
Try hResul["Direccion"] = TxtDireccion.Text
Try hResul["Celular"] = TxtCelular.Text
Try hResul["Fecha"] = TxtFecha.Text
Try hResul.Update()
Print " ingresando datos1" ' estos print son solo para saber por que camino tomo el if son sin importancia
Else
'creo que esta es la linea problematica la parte de (&1,&2...... no se algo estoy haciendo mal
Try hConn.Exec("insert into tablataller value (&0, &1, &2, &3, &4)", TxtID.Text, TxtCliente.Text, TxtDireccion.Text, TxtCelular.Text, CDate(TxtFecha.text))
Print "ingresando datos2"
Endif
Me.Close()
Catch
Message.Error("No se pudo introducir los datos solicitados")
End
|
v3ctor [ Miercoles, 26 Junio 2013, 22:43 ]
|
|
No Introduce Los Datos Base De Datos
Comentarios |
Re: No Introduce Los Datos Base De Datos
|
no veo que hagas de gran uso esa variable hResul y no la has declarado
porque no veo donde abres la coneccion de la base de datos. solo donde ejecutas para guardar
Conectarme.moduloconexion
Almacenar =Try hConn.Exec("insert into Producto values ('" & TextBox1.Text & "' , '" & TextBox2.text & "' "')")
Message("Registro Guardado")
Me.Close()
Catch
Message.Error("No se pudo introducir los datos solicitados")
End
ademas para almacenar solo puedes tomar o indicar las cajas de texto como el codigo de arriba
última edición por soldadozero el Miercoles, 26 Junio 2013, 23:04; editado 2 veces
|
soldadozero [ Miercoles, 26 Junio 2013, 22:59 ]
|
|
Re: No Introduce Los Datos Base De Datos
|
Hola v3ctor.
Creo que no es value, es values.
Una cuestión.¿ Como te fue cuando convertiste la fecha ?.
A mi este ejemplo me ha funcionado:
Public Sub btnAceptar_Click()
If editando Then
hResul["idcajon"] = txtNumcaj.Text
hResul["TipoComponente"] = txtTipocomp.Text
hResul["Nombre"] = txtNombre.Text
hResul["Referencia"] = txtRefer.Text
hResul.Update()
Else
Try hConn.Exec("insert into Armario values (&1,&2,&3,&4)", txtNumcaj.Text, txtTipocomp.Text, txtNombre.Text, txtRefer.Text)
Endif
Me.Close()
Catch
Message.Info("Imposible introducie los datos solicitados")
End
Saludos
última edición por Shell el Miercoles, 26 Junio 2013, 23:07; editado 2 veces
|
Shell [ Miercoles, 26 Junio 2013, 23:03 ]
|
|
Re: No Introduce Los Datos Base De Datos
|
Hola v3ctor.
Creo que no es value, es values.
Una cuestión.¿ Como te fue cuando convertiste la fecha ?.
Saludos
buen ojo! eso paso por alto
shell suele suceder cuando no analizas el codigo, algunas veces me ha sucedido pero no en este caso
última edición por soldadozero el Miercoles, 26 Junio 2013, 23:07; editado 1 vez
|
soldadozero [ Miercoles, 26 Junio 2013, 23:05 ]
|
|
Re: No Introduce Los Datos Base De Datos
|
soldadozero:
Puede que la conexión estuviese abierta antes.
Es que no esta todo el código.
Saludos
última edición por Shell el Miercoles, 26 Junio 2013, 23:11; editado 1 vez
|
Shell [ Miercoles, 26 Junio 2013, 23:10 ]
|
|
Re: No Introduce Los Datos Base De Datos
|
soldadozero:
Puede que la conexión estuviese abierta antes.
Es que no esta todo el código.
Saludos
claro amigo pueda que si!
pero hay que ser detallista
Saludos
|
soldadozero [ Miercoles, 26 Junio 2013, 23:12 ]
|
|
Re: No Introduce Los Datos Base De Datos
|
Creo que tu error está en los comodines, ya que arrancas por &0 y deberías arrancar por &1, y si es values y no value.
Saludos
|
Dani26 [ Miercoles, 26 Junio 2013, 23:34 ]
|
|
Re: No Introduce Los Datos Base De Datos
|
'creo que esta es la linea problematica la parte de (&1,&2...... no se algo estoy haciendo mal
Try hConn.Exec("insert into tablataller value (&0, &1, &2, &3, &4)", TxtID.Text, TxtCliente.Text, TxtDireccion.Text, TxtCelular.Text, CDate(TxtFecha.text))
[/code]
Efectivamente la palabra correcta es values, no value. Además los operadores de sustitución comienzan en 1 y no en 0, es decir &1, &2, &3, etc.
Otra cosa más, bastante importante porque te habría mostrado el motivo del error. Si usas la cláusula Catch no debes poner Try en la instrucción. En la cláusula Catch, muestras un mensaje en caso de error, pero uno genérico. Si además concatenas la clase Error con sus propiedades, puedes obtener la línea del error, la descripción del error incluso el backtrace. Así:
Más información sobre la clase estática Error:
http://www.gambasdoc.org/help/comp/gb/error?v3
En caso de haber usado ese código, te hubieras dado cuenta enseguida de que el error era de sintaxis sql
Saludos
|
jguardon [ Miercoles, 26 Junio 2013, 23:46 ]
|
|
|
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
|
|