none
ayuda con el codigo para modificar un registro me atore RRS feed

  • Pregunta

  • XFA AKI ESTA EL CODIGO CHEKELON Y XFA ME DICEN CUAL ES MI ERROR ES EN CASI LAS ULTIMAS LINEAS, AHI DEJE UNA NOTA

    GRACIAS A TODOS DE ANTEMANO LOS K ME DEN SU APOYO

     

    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Data.OleDb.OleDbCommand

    Public Class modpass
        Public connstring = "provider=microsoft.ACE.OLEDB.12.0; data source =c:\dental\ingreso.accdb;"
        Private Sub buscar()
            Using con As New OleDbConnection(connstring)
                Dim miadaptador As New OleDbDataAdapter("select * from contra", con)
                Dim ds As New DataSet
                con.Open()
                miadaptador.Fill(ds)
                con.Close()
                If TextBox1.Text = "" Then
                    MsgBox("TECLEE EL PASSWORD ACTUAL", MsgBoxStyle.Information)
                    TextBox1.Focus()
                    TextBox1.Clear()
                Else
                    If (ds.Tables(0).Rows.Count = 0) Then
                        MsgBox("NO EXISTE PASSWORD A COMPARAR", MsgBoxStyle.Information)
                        TextBox1.Focus()
                        TextBox1.Clear()
                    Else
                        If TextBox1.Text = ds.Tables(0).Rows(0)("pass") Then
                            TextBox2.Enabled = True
                            TextBox3.Enabled = True
                            TextBox2.Focus()
                        Else
                            MsgBox("NO SON IGUALES LOS PASSWORD", MsgBoxStyle.Information)
                        End If
                    End If
                End If
            End Using
        End Sub
        Private Sub modpass_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            cargar()
            TextBox2.Enabled = False
            TextBox3.Enabled = False
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            buscar()
        End Sub
        Private Sub cargar()
            Using con As New OleDbConnection
                Dim miadaptador As New OleDbDataAdapter("select from contra", con)
            End Using
        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            cargar()
            If TextBox2.Text = "" Then
                MsgBox("TECLEE EL NUEVO PASSWORD A CREAR", MsgBoxStyle.Information)
                TextBox2.Focus()
            Else
                If TextBox3.Text = "" Then
                    MsgBox("TECLEE EL PASSWORD A CONFIRMAR", MsgBoxStyle.Information)
                Else
                    If TextBox2.Text <> TextBox3.Text Then
                        MsgBox("LOS PASSWORD NO SON IGUALES", MsgBoxStyle.Information)
                    Else
                        Using con As New OleDbConnection(connstring)

                            Dim sql As String = "UPDATE contra set (pass) values(@pass)"
                            Dim cmd As New OleDbCommand(sql, con)
                            cmd.Parameters.AddWithValue("@pass", TextBox3.Text)
                            con.Open()
                            cmd.ExecuteNonQuery() " ES AKI DONDE ME GENERA EL ERROR K ME DICE SINTAXIS DE ERROR DE LA INST UPDATE
                            con.Close()
                        End Using
                    End If
                End If
            End If
        End Sub
    End Class

    sábado, 7 de enero de 2012 23:11

Respuestas

  • en la tabla deberias definir un campo que sea el id o codigo de la misma, esto lo has hecho ? es importante poder identificar cada registro

    entonces el parametero del WHERE se trata igual que el del @pass

    cmd.Parameters.AddWithValue("@id", Cint(txtId.Text))

    pero debes primero en tu tabla definir este campo como clave de la tabla

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta fito_cuacua domingo, 8 de enero de 2012 20:00
    domingo, 8 de enero de 2012 17:54
  • MUCHAS GRACIAS LEANDRO X TU AYUDA YA KDO RESUELTO MI PROBLEMA TE LO AGRESCO MIL
    • Marcado como respuesta fito_cuacua domingo, 8 de enero de 2012 20:00
    domingo, 8 de enero de 2012 19:59

Todas las respuestas

  • hola

    y el error esta en lo cierto, el UPDATE no tiene esa estructura, esa es la del INSERT, deberias usar

    UPDATE contra SET pass = @pass WHERE id = @id

     

    recuerda definir un campo de codigo o id que sea la key de la tabla en el WHERE de lo controlario cambiar todos los registros con el valor que le proporcionas

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 7 de enero de 2012 23:51
  • MUCHAS GRACIAS LEANDRO X LA AYUDA, PERO AHORA EN LA MISMA LINEA ME SALE UN ERROR DE "No se han especificado valores para algunos de los parámetros requeridos." Y ES CUANTO LO K ME DICES QUE TENGO K DEFINIR UN CAMPO DE CODIGO O ID K SEA LA KEY DE LA TABLA WHERE, ES QUE ESO ES DONDE ME ENREDO EN DONDE HACERLO Y COMO, ME PODRIAS ESPECIFICAR COMO SI ES DENTRO DE LA "PRIVATE SUB"  O EN K PARTE DEL CODIGO.

     

    MUCHISIMAS GRACIAS X TU TIEMPO

    domingo, 8 de enero de 2012 16:57
  • en la tabla deberias definir un campo que sea el id o codigo de la misma, esto lo has hecho ? es importante poder identificar cada registro

    entonces el parametero del WHERE se trata igual que el del @pass

    cmd.Parameters.AddWithValue("@id", Cint(txtId.Text))

    pero debes primero en tu tabla definir este campo como clave de la tabla

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta fito_cuacua domingo, 8 de enero de 2012 20:00
    domingo, 8 de enero de 2012 17:54
  • Gracias leandro con tu respuesta talvez no me explique bien en mi tabla de mi base de datos solo tengo un campo que se llama "pass" ese es el que quiero modificar, si entiendo el Id viene siendo el numero de registro que se encuentra en la base de datos, y x el momento solo tengo un registro

    domingo, 8 de enero de 2012 18:50
  • ahh que raro eso es poco comun

    digo una tabla para un campo y un unico registro, por lo general cuando hay un password hay usuarios involucrados

    en ese caso solo usa

    UPDATE contra SET pass = @pass

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 8 de enero de 2012 19:27
  • Tratare de explicarme mejor en mi base de datos solo hay un campo que se llama pass, este viene siendo el indice dentro de mi base de datos, y tbien donde se guarda el registro y es el que deseo modificar, y lo que trato de entender k al decirme de un Id vienes diciendome que es el indice de mi base de datos ya sea el registro Id 1 contiene juan perez Id 2 teresa martinez etc... pero kmo te menciono mi campo dentro de mi base solo es "pass" donde se guarda un registro ya intente con las intrucciones k me indicastes pero ahora sigo igual con el mismo problema no me modifica mi registro

     

    gracias en verdad te lo agradezco x tu apoyo

     

    domingo, 8 de enero de 2012 19:34
  • MUCHAS GRACIAS LEANDRO X TU AYUDA YA KDO RESUELTO MI PROBLEMA TE LO AGRESCO MIL
    • Marcado como respuesta fito_cuacua domingo, 8 de enero de 2012 20:00
    domingo, 8 de enero de 2012 19:59