elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Re: No puedo realizar update vb.net Access[SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Re: No puedo realizar update vb.net Access[SOLUCIONADO]  (Leído 5,431 veces)
Yaldabaot

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: No puedo realizar update vb.net Access[SOLUCIONADO]
« en: 8 Julio 2014, 00:05 am »

Hola, estoy haciendo un programa que cambia contraseñas, pero por alguna extraña razón el UPDATE no me funciona D:, VB.NET 2010

Código
  1.  
  2.         conn.Open()
  3.  
  4.        cmd = New OleDb.OleDbCommand("UPDATE USUARIOS SET PASSWORD = @PASS WHERE USUARIO = @USER", conn)
  5.  
  6.        cmd.Parameters.AddWithValue("@USER", usuario)
  7.        cmd.Parameters.AddWithValue("@PASS", password)
  8.  
  9.  
  10.  
  11.  
  12.        cmd.ExecuteNonQuery()
  13.  
  14.  
  15.        conn.Close()
  16.  
  17.  
 
ERROR = "Error de sintaxis en la instrucción UPDATE.".

Lo he cambiado sin parámetros y con parámetros, no se que será. Gracias por su ayuda y por leerme



« Última modificación: 8 Julio 2014, 23:15 pm por Yaldabaot » En línea

Nunca me contestan -_-
Ari Slash


Desconectado Desconectado

Mensajes: 1.783



Ver Perfil WWW
Re: No puedo realizar update vb.net Access
« Respuesta #1 en: 8 Julio 2014, 03:32 am »

Intenta quitando los "@" de "AddWithValue".

Código
  1. conn.Open()
  2. cmd = New OleDb.OleDbCommand("UPDATE USUARIOS SET PASSWORD = @PASS WHERE USUARIO = @USER", conn)
  3. cmd.Parameters.AddWithValue("USER", usuario)
  4. cmd.Parameters.AddWithValue("PASS", password)
  5. cmd.ExecuteNonQuery()
  6.  


En línea

Yaldabaot

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: No puedo realizar update vb.net Access
« Respuesta #2 en: 8 Julio 2014, 06:27 am »

Gracias por responder  ;D

Lo intentaré y mañana te reporto que tal me fue!!, gracias.
En línea

Nunca me contestan -_-
Yaldabaot

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: No puedo realizar update vb.net Access
« Respuesta #3 en: 8 Julio 2014, 16:06 pm »

Código
  1.  
  2.     conn.Open()
  3.  
  4.        cmd = New OleDb.OleDbCommand("UPDATE USUARIOS SET PASSWORD = @PASS WHERE USUARIO = @USER", conn)
  5.  
  6.        cmd.Parameters.AddWithValue("USER", usuario)
  7.        cmd.Parameters.AddWithValue("PASS", password)
  8.        cmd.ExecuteNonQuery()
  9.  
  10.        conn.Close()
  11.  
  12.  

Me sigue dando el mismo error, también utilicé este código y nada :(


Código
  1.  
  2.          conn.Open()
  3.          cmd = New OleDb.OleDbCommand("UPDATE USUARIOS SET PASSWORD = '" & password & "' WHERE USUARIO = '" & usuario & "'".Replace(".", ""), conn)
  4.        cmd.ExecuteNonQuery()
  5.        conn.Close()
  6.  
  7.  


Lo extraño es que esos campos son texto en el motor, y tengo esos mismos comandos y me funcionan bien en otras aplicaciones, sinceramente me quedo corto porque es un error muy extraño.

Imports System.Data.SqlClient
Imports System.Data.OleDb

Esas son las librería que uso, nada fuera de lo normal.

PD: Ya lo intenté usando también sin el replace por si era algún caracter o algo pero nada.

« Última modificación: 8 Julio 2014, 16:08 pm por Yaldabaot » En línea

Nunca me contestan -_-
Ari Slash


Desconectado Desconectado

Mensajes: 1.783



Ver Perfil WWW
Re: No puedo realizar update vb.net Access
« Respuesta #4 en: 8 Julio 2014, 16:57 pm »

Prueba con SqlCLient:

Código
  1. Dim sql As String = "UPDATE USUARIOS SET PASSWORD = @PASS WHERE USUARIO = @USER"
  2. Dim conexion As New Data.SqlClient.SqlConnection(miStringConeccion)
  3. Dim comando As New Data.SqlClient.SqlCommand(sql, conexion)
  4. try
  5.   conexion .Open()
  6.   comando.Parameters.AddWithValue("USER", usuario)
  7.   comando.Parameters.AddWithValue("PASS", password)
  8.   comando.ExecuteNonQuery()
  9.   conexion .Close()
  10. Catch ex As Exception
  11.   'ERROR
  12.   Throw New Exception("Asi quedo la consulta y fue error: " & comando.CommandText & " ---> " & ex.Message().ToString)
  13.   conexion.Close()
  14. End Try

Recuerda establecer miStringConeccion.
Lo otro puede ser, que en tus variables usuario y/o password, estes pasando algun dato malo. SI te da error este codigo, postea la excepcion.
En línea

Yaldabaot

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: No puedo realizar update vb.net Access
« Respuesta #5 en: 8 Julio 2014, 17:14 pm »

System.Exception was unhandled
  HResult=-2146233088
  Message=Asi quedo la consulta y fue error: UPDATE USUARIOS SET PASSWORD = 's' WHERE USUARIO = 'Admin' ---> Error de sintaxis en la instrucción UPDATE.
  Source=CUENTAS
  StackTrace:
       at CUENTAS.frmCambiar.CambiarPassword(String usuario, String password) in W:\Desarrollo\Cuentas\CUENTAS\CUENTAS\frmCambiar.vb:line 84
       at CUENTAS.frmCambiar.btnCambio_Click(Object sender, EventArgs e) in W:\Desarrollo\Cuentas\CUENTAS\CUENTAS\frmCambiar.vb:line 15
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.Run(ApplicationContext context)
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       at CUENTAS.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:


Eso es lo que me tira :(
En línea

Nunca me contestan -_-
Ari Slash


Desconectado Desconectado

Mensajes: 1.783



Ver Perfil WWW
Re: No puedo realizar update vb.net Access
« Respuesta #6 en: 8 Julio 2014, 17:17 pm »

Cual es tu estructura de tablas? Postea el codigo SQL.
Especifica que Motor de BD usas, y el nombre de tu esquema.
En línea

Yaldabaot

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: No puedo realizar update vb.net Access
« Respuesta #7 en: 8 Julio 2014, 17:27 pm »

ID_USUARIO = Autonumérico(Entero Largo)
USUARIO= Texto(80)
PASSWORD = Texto(16)
TIPO = Texto(10)

Motor de datos = Access 2007, Provider=Microsoft.ACE.OLEDB.12.0, Jet OLEDB


No tiene relaciones, es algo extremedamente simple para que no funcione :(.

Con respecto a lo que le entra ya revisé con el depurador usando datos MUY SIMPLES tales como una "s" o s y 1234, es algo demasiado sencillo y no comprendo.
En línea

Nunca me contestan -_-
Yaldabaot

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: No puedo realizar update vb.net Access[SOLUCIONADO]
« Respuesta #8 en: 8 Julio 2014, 23:14 pm »

Código
  1.  
  2. cmd = New OleDb.OleDbCommand("UPDATE [USUARIOS] SET [PASSWORD] = '" & password & "'    WHERE [USUARIO] =  '" & usuario & "'", conn)
  3.  
  4.  

Ya pude, no se como carajos sirve, pero sirvió, sinceramente no le veo lógica, porque esto nunca lo había configurado ni tocado. Gracias por responderme y leerme!.


En línea

Nunca me contestan -_-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines