Autor Tema: [AYUDA] codigo para actualizar datos  (Leído 7978 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
[AYUDA] codigo para actualizar datos
« : octubre 17, 2014, 01:13:39 pm »
Amigos ayuda, no se que estoy haciendo mal pero no me actualiza los datos:
 
Código: [Seleccionar]
string cadena = @" Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\GestionTaller.accdb";
                OleDbConnection conn = new OleDbConnection(cadena);

                conn.Open();

                string str = "UPDATE Clientes SET NomCliente= @NomCliente, Direccion= @Direccion, Telefono=@Telefono, Telefono2= @Telefono2, Dui= @Dui, Nit= @Nit, Registro=@Registro ,Giro=@Giro WHERE IdCliente= @IdCliente";
                OleDbCommand cmd = new OleDbCommand(str, conn);
               
                cmd.Parameters.Add("@IdCliente", OleDbType.Integer).Value = txtCodigo.Text;
                cmd.Parameters.Add("@NomCliente", OleDbType.VarChar).Value = txtNombre.Text;
                cmd.Parameters.Add("@Direccion", OleDbType.VarChar).Value = txtDireccion.Text;
                cmd.Parameters.Add("@Telefono", OleDbType.VarChar).Value = txtTelefono.Text;
                cmd.Parameters.Add("@Telefono2", OleDbType.VarChar).Value = txtCelular.Text;
                cmd.Parameters.Add("@Dui", OleDbType.VarChar).Value = txtDui.Text;
                cmd.Parameters.Add("@Nit", OleDbType.VarChar).Value = txtNit.Text;
                cmd.Parameters.Add("@Registro", OleDbType.VarChar).Value = txtRegistro.Text;
                cmd.Parameters.Add("@Giro", OleDbType.VarChar).Value = txtGiro.Text;
               

                MessageBox.Show("Datos Actualizados "+ cmd.ExecuteNonQuery());



Desconectado Neon08

  • Sv Member
  • ***
  • Mensajes: 267
  • Perdí mi apuesta por el rock and roll
Re:[AYUDA] codigo para actualizar datos
« Respuesta #1 : octubre 17, 2014, 01:20:37 pm »
Amigos ayuda, no se que estoy haciendo mal pero no me actualiza los datos:
 
Código: [Seleccionar]
string cadena = @" Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\GestionTaller.accdb";
                OleDbConnection conn = new OleDbConnection(cadena);

                conn.Open();

                string str = "UPDATE Clientes SET NomCliente= @NomCliente, Direccion= @Direccion, Telefono=@Telefono, Telefono2= @Telefono2, Dui= @Dui, Nit= @Nit, Registro=@Registro ,Giro=@Giro WHERE IdCliente= @IdCliente";
                OleDbCommand cmd = new OleDbCommand(str, conn);
               
                cmd.Parameters.Add("@IdCliente", OleDbType.Integer).Value = txtCodigo.Text;
                cmd.Parameters.Add("@NomCliente", OleDbType.VarChar).Value = txtNombre.Text;
                cmd.Parameters.Add("@Direccion", OleDbType.VarChar).Value = txtDireccion.Text;
                cmd.Parameters.Add("@Telefono", OleDbType.VarChar).Value = txtTelefono.Text;
                cmd.Parameters.Add("@Telefono2", OleDbType.VarChar).Value = txtCelular.Text;
                cmd.Parameters.Add("@Dui", OleDbType.VarChar).Value = txtDui.Text;
                cmd.Parameters.Add("@Nit", OleDbType.VarChar).Value = txtNit.Text;
                cmd.Parameters.Add("@Registro", OleDbType.VarChar).Value = txtRegistro.Text;
                cmd.Parameters.Add("@Giro", OleDbType.VarChar).Value = txtGiro.Text;
               

                MessageBox.Show("Datos Actualizados "+ cmd.ExecuteNonQuery());


Que error te devuelve?? lo has puesto en un try y catch?
usualmente con los parametros debes de ponerlos en el orden de aparicion que los pones en la consulta (supongo que lo estas haciendo en .net) asi que el primero que deberia de aparecer cuando los agregas es @nombrecliente y el ultimo @idcliente (poniendo los demas en su orden correspondiente tambien)

Espero serte de ayuda, sino comentanos y te echamos la mano :D
La gran victoria que hoy parece fácil fue el resultado de pequeñas victorias que pasaron desapercibidas.

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
Re:[AYUDA] codigo para actualizar datos
« Respuesta #2 : octubre 17, 2014, 01:24:16 pm »
ese es el detalle el try no devuelve nada, y con respecto el orden como es eso?? por que la idea es guardar todos los datos donde idCliente = @IdCliente, el campo
IdCliente en la base es autonumerico y unicamente lo uso para que sepa donde debe actulizarme los datos

Desconectado XtremeH

  • The Communiter-
  • *
  • Mensajes: 1960
  • We must fight very hard, or die trying...
Re:[AYUDA] codigo para actualizar datos
« Respuesta #3 : octubre 17, 2014, 01:24:42 pm »
También podrías validar si el mismo tipo de datos que estás agregando a los parámetros coincida con el tipo de datos de la tabla

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
Re:[AYUDA] codigo para actualizar datos
« Respuesta #4 : octubre 17, 2014, 01:27:01 pm »
ya lo revise y todo esta igual, en la base solo el campo IdCliente es autoumerico y todos los demas los he dejado tipó texto, y cuando le doy a actualizar pareciera que todo se hizo bien pero al revisar los datos no han cambiado, y el ExcuteNonQuery me devuelve un valor de 0

« Última Modificación: octubre 17, 2014, 01:28:47 pm por mil123 »

Desconectado Neon08

  • Sv Member
  • ***
  • Mensajes: 267
  • Perdí mi apuesta por el rock and roll
Re:[AYUDA] codigo para actualizar datos
« Respuesta #5 : octubre 17, 2014, 01:29:50 pm »
ese es el detalle el try no devuelve nada, y con respecto el orden como es eso?? por que la idea es guardar todos los datos donde idCliente = @IdCliente, el campo
IdCliente en la base es autonumerico y unicamente lo uso para que sepa donde debe actulizarme los datos
Con el orden ya me ha pasado en BD que no son sql server en tu caso veo q es Access... vaya digamos que estas haciendo un update normal

Código: [Seleccionar]
update tabla1 set nombre=@nombre, apellido=@apellido, edad=@edad where idcliente=@idcliente
ahora bien mira en eese update cual es el primero parametro que aparece en la consulta, en este caso es @nombre, entonces cuando hagas el add de los parametros en .net debes de seguir ese orden de add (nombre,apellido,edad y idcliente)
probalo y me contas, ya me ha pasado con sybase sino me equivoco.
La gran victoria que hoy parece fácil fue el resultado de pequeñas victorias que pasaron desapercibidas.

Desconectado XtremeH

  • The Communiter-
  • *
  • Mensajes: 1960
  • We must fight very hard, or die trying...
Re:[AYUDA] codigo para actualizar datos
« Respuesta #6 : octubre 17, 2014, 01:34:40 pm »
Mira, lo que veo es que cuando insertas los textos dentro de la tabla, no le agregas las comillas simples/dobles. Recorda que eso puede darte clavo, pues lo unico que va sin comillas son números. Podes revisar eso también

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
Re:[AYUDA] codigo para actualizar datos
« Respuesta #7 : octubre 17, 2014, 01:42:39 pm »
haciendo pruebas ya descubri cual es el error no me esta tomando el cuenta el Where, cuando se lo quite me actulizo TODOS los datos de la tabla clientes.... ahora como puedo hacer para que el parametro @IdCliente tome el valor del textbox

Desconectado Neon08

  • Sv Member
  • ***
  • Mensajes: 267
  • Perdí mi apuesta por el rock and roll
Re:[AYUDA] codigo para actualizar datos
« Respuesta #8 : octubre 17, 2014, 01:44:57 pm »
haciendo pruebas ya descubri cual es el error no me esta tomando el cuenta el Where, cuando se lo quite me actulizo TODOS los datos de la tabla clientes.... ahora como puedo hacer para que el parametro @IdCliente tome el valor del textbox
y verificaste si lo actualizado corresponde a loq escribiste en los textbox de los otros datos?
La gran victoria que hoy parece fácil fue el resultado de pequeñas victorias que pasaron desapercibidas.

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
Re:[AYUDA] codigo para actualizar datos
« Respuesta #9 : octubre 17, 2014, 02:04:35 pm »
gracias ya lo solucione al parecer solo era de poner en update toda la estructura de la TABLA



EDITO: Para que NO se pierda la idea del porque abri este tema  :yao_ming:  :trollface:
« Última Modificación: octubre 17, 2014, 04:02:41 pm por mil123 »

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re:[AYUDA] codigo para actualizar datos
« Respuesta #10 : octubre 17, 2014, 02:45:08 pm »
gracias ya lo solucione al parecer solo era de poner en update toda la estructura de la base

toda la estructura de la base? que significa eso....

lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado mil123

  • Sv Full Member
  • *
  • Mensajes: 558
Re:[AYUDA] codigo para actualizar datos
« Respuesta #11 : octubre 17, 2014, 02:57:44 pm »
toda la estructura de la base? que significa eso....



Código: [Seleccionar]
string str = "UPDATE Clientes SET IdCliente=@IdCliente, NomCliente= @NomCliente, Direccion= @Direccion, Telefono=@Telefono, Telefono2= @Telefono2, Dui= @Dui, Nit= @Nit, Registro=@Registro ,Giro=@Giro WHERE IdCliente=@IdCliente  ";
esa fue la unica manera en que me actualizo sin problemas, yo se que en sql no es necesario mandar a actuliazar el dato que te sirve como indice pero en access al precer si 
« Última Modificación: octubre 17, 2014, 02:59:40 pm por mil123 »

Desconectado Neon08

  • Sv Member
  • ***
  • Mensajes: 267
  • Perdí mi apuesta por el rock and roll
Re:[AYUDA] codigo para actualizar datos
« Respuesta #12 : octubre 17, 2014, 03:12:15 pm »
Código: [Seleccionar]
string str = "UPDATE Clientes SET IdCliente=@IdCliente, NomCliente= @NomCliente, Direccion= @Direccion, Telefono=@Telefono, Telefono2= @Telefono2, Dui= @Dui, Nit= @Nit, Registro=@Registro ,Giro=@Giro WHERE IdCliente=@IdCliente  ";
esa fue la unica manera en que me actualizo sin problemas, yo se que en sql no es necesario mandar a actuliazar el dato que te sirve como indice pero en access al precer si
AHHHHHH!!! actualizar el registro completo... no toda la estructura xD
Yo apostaría que es porq idcliente aparece en el orden en que haces el add de los parametros en .net pero si te funciona así no hay problema :)
La gran victoria que hoy parece fácil fue el resultado de pequeñas victorias que pasaron desapercibidas.

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re:[AYUDA] codigo para actualizar datos
« Respuesta #13 : octubre 17, 2014, 03:33:31 pm »
AHHHHHH!!! actualizar el registro completo... no toda la estructura xD

vea que destanteo con el primer comentario.... toda la estructura!... yo hasta crei que hacia el "create database"  XD

lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Neon08

  • Sv Member
  • ***
  • Mensajes: 267
  • Perdí mi apuesta por el rock and roll
Re:[AYUDA] codigo para actualizar datos
« Respuesta #14 : octubre 17, 2014, 03:36:24 pm »

vea que destanteo con el primer comentario.... toda la estructura!... yo hasta crei que hacia el "create database"  XD
Seeee la verdad siii... xD pense q la base había vuelto hacer o alguna opción rara de la configuración que podría tener acess xD
La gran victoria que hoy parece fácil fue el resultado de pequeñas victorias que pasaron desapercibidas.