none
Guardar los datos de un checkbock en un data grid

    Pregunta

  • Hola  de nuevo 

    Tengo un problema a la hora de guardar los datos de un checkbox en un data grid  en la base de datos con el procedimiento me guarda bien los de mas campos pero el de checkbox no lo hace necesito saber que me digan tengo mal estoy trabajando es vb nesecito de su ayuda gracias de ante mano

    A continuación le pongo el código como lo tengo:

       Dim conexion As New SqlConnection(Rutina.CadenaConexion())
            Dim cmd As New SqlCommand("Insert into Cliente (idEstado_Civil,nombre,apellido,telefono) values (@idEstado_Civil,@nombre,@apellido,@telefono)", conexion)
            Try
                cmd.Parameters.Add("codigo", SqlDbType.Int)
                cmd.Parameters("codigo").Value = Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "codigo")
    
                cmd.Parameters.Add("idEstado_Civil", SqlDbType.Bit)
                cmd.Parameters("idEstado_Civil").Value = Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "idEstado_Civil")<---'AQUI TENGO EL OBJETO(CHECKBOX)'
        
                cmd.Parameters.Add("nombre", SqlDbType.NVarChar)
                cmd.Parameters("nombre").Value = Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "nombre")
    
                cmd.Parameters.Add("apellido", SqlDbType.NVarChar)
                cmd.Parameters("apellido").Value = Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "apellido")
    
                cmd.Parameters.Add("telefono", SqlDbType.Int)
                cmd.Parameters("telefono").Value = Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "telefono")
    
                conexion.Open()
                cmd.ExecuteNonQuery()
                conexion.Close()
                Me.GridControl1.DataSource = Rutina.obtener_datos("Select * From Cliente")
            Catch ex As Exception
                conexion.Close()
                MessageBox.Show(ex.Message)
            End Try


    lunes, 22 de agosto de 2016 16:07

Respuestas

  • DOSA_INFORMATICA,

    ¿Has intentado convertir el tipo Object a Boolean?

    Dim EstadoCivil As Boolean = 
    Convert.ToBoolean(Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "idEstado_Civil"))
    
    cmd.Parameters.AddWithValue("idEstado_Civil", EstadoCivil)

    Por otro lado, ¿la columna [idEstadoCivil] es un tipo bit? ¿por qué el prefijo 'id'? ¿no contemplas valores como: soltero, casado, viudo, divorciado?


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 22 de agosto de 2016 16:20

Todas las respuestas

  • DOSA_INFORMATICA,

    ¿Has intentado convertir el tipo Object a Boolean?

    Dim EstadoCivil As Boolean = 
    Convert.ToBoolean(Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "idEstado_Civil"))
    
    cmd.Parameters.AddWithValue("idEstado_Civil", EstadoCivil)

    Por otro lado, ¿la columna [idEstadoCivil] es un tipo bit? ¿por qué el prefijo 'id'? ¿no contemplas valores como: soltero, casado, viudo, divorciado?


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 22 de agosto de 2016 16:20
  • LO SOLUCIONE GRACIAS
     cmd.Parameters.Add("idEstado_Civil", SqlDbType.Bit)
                cmd.Parameters("idEstado_Civil").Value = Convert.ToBoolean(Me.GridView1.GetRowCellValue(Me.GridView1.FocusedRowHandle, "idEstado_Civil"))<--- ESTO FUE LO QUE CORREGI

    lunes, 22 de agosto de 2016 16:28