Problema Al Enviar Un INSERT INTO
Artículo |
Problema Al Enviar Un INSERT INTO
|
Saludos a todos, tengo un problema con mi código, hasta ahora he podido hacer los SELECT y rellenar grids y combos, pero ahora que intente enviar un INSERT INTO no me genera error, pero no me guarda los datos que le envío, ese mismo código lo muestro en un message.info antes de pasar a la conexión y lo copio y lo pego en el query de postgres y si se guarda en la bd, osea, que si la cadena del INTO estuviera mal, me marcaría error en el Quiery de postgres y todo bien, tengo un detector de errores después de la conn.exec() y no me cacha errores, ya le hice de muchas maneras y nada, ayudenme que puede estar mal....
varx.sqlcadena = "INSERT INTO registros(eclave,documento,nombre) VALUES(256,'nuevo','sergio hernandez')"
Message.Info(varx.sqlcadena)
Try varx.conector.Exec(varx.sqlcadena)
Catch
Message.Error("No pudo ejecutar el query de INSERT al guardar." & "\n\n" & DConv(Error.Text))
Esta conexion es la misma que utilizo para los select, pero con los insert into no hace nada....
Gracias
última edición por smorgerbowrg el Viernes, 30 Noviembre 2012, 23:36; editado 1 vez
|
smorgerbowrg [ Viernes, 30 Noviembre 2012, 22:24 ]
|
|
Problema Al Enviar Un INSERT INTO
Comentarios |
Re: Problema Al Enviar Un INSERT INTO
|
Mira prueba de esta forma:
Try coneccion.junincon.EXEC("insert into acceso values(&1,&2,&3,&4)",----ESTOS SON LOS CAMPOS Y LA CONECCION "ES UN EJEMPLO"
TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text)
If Error Then----ESTE ES EL QUE TE LANZA EL ERROR SI NO SE PUEDE AGREGAR NADA A LA BASE DE DATOS.
Message.Error("NO SE PUDIERON GUARDAR LOS DATOS")----UN MENSAJE INFO PARA SABER EL "ERROR"
Else
Message.Info("SU REGISTRO SE HA AGREGADO EXITOSAMENTE")--ESTE MENSAJE PARA SABER SI AGREGO EL REGISTRO EXITOSAMENTE
|
jousseph [ Viernes, 30 Noviembre 2012, 23:40 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
MMMMM ok deja lo hago asi, y te aviso, gracias
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 00:08 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
Una duda respecto al ejemplo:
Try coneccion.junincon.EXEC("insert into acceso values(&1,&2,&3,&4)",----ESTOS SON LOS CAMPOS Y LA CONECCION "ES UN EJEMPLO"
TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text)
los values(&1,&2,&3,&4) son como el index de cada registro y después se ponen los nombres de los campos, ok hasta aquí, pero por ejemplo si el dato de un campo es tipo text, en una cadena normal desde postgres se le ponen comillas sencillas y aquí no lleva esas comillas?
ejemplo:
Try coneccion.junincon.EXEC("insert into acceso values(&1,&2,&3,&4)",----ESTOS SON LOS CAMPOS Y LA CONECCION "ES UN EJEMPLO"
TextBox1.Text, TextBox2.Text, TextBox3.Text, + "'"+ TextBox4.Text +"'" )
o algo asi ?
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 00:26 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
No se puede hacer una cadena normal en una variable estilo vb y mandarlo a la conexion.exec ?
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 00:35 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
Lo que sucede es que quiza te complicas mucho, por ejemplo tu hablas de las comillas simples para postgres, eso se se hace cuando usamos la terminal para agregar registros colocando los nombres de dichos campos y registros, aqui no hay necesidad de eso:
values(&1,&2,&3,&4) esto son los campos de tu tabla donde se van a guardar dichos registros, osea tienes tantos campos pues colcoas &1 hasta donde tu creas necesario!
Para los nombres no necesitas colocar que si 'javier','maria'. no simplemente las textbox donde poseas estos datos osea para el campo codigo tienes (&1) textbox1.text y campo (&2) texbox2.text tienes cedula y asi sucesivamente se autoexpresa, no se como se lleve en postgres ya que lo he hecho en mysql prueba y postea.
|
jousseph [ Sabado, 01 Diciembre 2012, 00:38 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
Ok, deja lo adapto a esta forma y les aviso, gracias
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 00:41 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
ok ayudenme que de raro ven aqui, me marca error de Missing "," ; me pusieron un ejemplo con campos, pero tambien funciona con variables ?
Private Sub guardar()
Dim xsininteres As Float
Dim tx As String
If CheckBox1.Value = 0 Then
tx = "0"
Else
tx = "1"
End If
funx.fechaz(DateBox1.Value)
xsininteres = CFloat(varx.xtotalcredito) - CFloat(varx.xinteres)
Try varx.conectorz.Exec("INSERT INTO registros VALUES(&1,&2,&3,&4,&5,&6,&7,&8,&9,&10,&11,&12,&13,&14,&15,&16,&17,&18,&19,&20,&21,&22,&23,&24,&25,&26,&27,&28)",
TextBox1.Text, TextBox1.Text, varx.fechas, TextBox2.Text, TextBox11.Tag, TextBox10.Tag, TextBox9.Tag, ButtonBox1.Text, TextBox3.Text, ButtonBox3.Text, ButtonBox4.Text,
xsininteres, varx.xtotalcredito, varx.xinteres, varx.xporcinteres, varx.xtotalcredito, "0" varx.xpagosemanal, "0", "0", "VIGENTE", TextArea1.Text, tx,
"0", "SIN ENTREGAR", varx.SQLUsuarioID, varx.fechax, varx.horax)
If Error Then
Message.Error("No pudo ejecutar el query de INSERT al guardar." & "\n\n" & DConv(Error.Text))
Endif
End
última edición por smorgerbowrg el Sabado, 01 Diciembre 2012, 01:04; editado 1 vez
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 01:02 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
Ya vi mi error me falto una coma aqui:
xsininteres, varx.xtotalcredito, varx.xinteres, varx.xporcinteres, varx.xtotalcredito, "0" varx.xpagosemanal, "0", "0", "VIGENTE", TextArea1.Text, tx,
disculpen
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 01:05 ]
|
|
Re: Problema Al Enviar Un INSERT INTO
|
Ya corrio el programa pero me marco este error al guardar:
No pudo ejecutar el query de INSERT al guardar.
Query failed: ERROR: error de sintaxis en o cerca de «0»
LINE 1: ...',E'18',E'660',E'667',E'81191471',E'5688855',E'14'0,E'14'1,E...
|
smorgerbowrg [ Sabado, 01 Diciembre 2012, 01:08 ]
|
|
|
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
|
|