No se puede vincular la propiedad a la columna.

Estoy tratando de mostrar el número de serie del 'destinatario' que seleccionó en un cuadro de texto, pero aparece este error:

System.ArgumentException: Cannot bind to the property or column RecipientSNo on the DataSource.

Hice esto en otro cuadro de texto con una consulta diferente (los mismos códigos, solo cambié el nombre de la columna de 'destinatario' a 'emisor') solo para depurar y ¡funciona! Lo intenté de nuevo con el 'destinatario' pero todavía no funciona. Mi código:

    query("SELECT RecipientSNo FROM Recipient WHERE CONCAT(FirstName, ' ', MI, '. ', LastName) = '" & ReceiverName.Text & "';")
    Try
        adapter = New MySqlDataAdapter(CommandText, ServerString)
        table = New DataTable
        Dim ds As New DataSet
        Dim bs As BindingSource
        adapter.Fill(ds, "recipient")
        bs = New BindingSource(ds, "recipient")
        DataBindings.Clear()
        ReceiverSNo.DataBindings.Add("text", bs, "ReceipientSNo")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
    disconnect()

Este es el código del 'emisor' que está funcionando:

    query("SELECT IssuerSNo FROM Issuer WHERE CONCAT(FirstName, ' ', MI, '. ', LastName) = '" & IssuerName.Text & "';")
    Try
        adapter = New MySqlDataAdapter(CommandText, ServerString)
        table = New DataTable
        Dim ds As New DataSet
        Dim bs As BindingSource
        adapter.Fill(ds, "armorer")
        bs = New BindingSource(ds, "armorer")
        IssuerSNo.DataBindings.Clear()
        IssuerSNo.DataBindings.Add("text", bs, "ArmorerSNo")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
    disconnect()

Acabo de hacer frente a este código y cambié el cuadro de texto y los nombres de las columnas y ya no funcionó. ¿Cuál parece ser el problema? Ya verifiqué dos veces los nombres de mi tabla y columna.

preguntado el 12 de junio de 12 a las 14:06

1 Respuestas

Creo que deberías escribir

ReceiverSNo.DataBindings.Clear()         
ReceiverSNo.DataBindings.Add("text", bs, "RecipientSNo") 

La columna devuelta de su consulta se llama RecipientSNo,
el uso de DataBindings.Add ReceipientSNo

Respondido el 12 de junio de 12 a las 14:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.