2012-06-12 6 views
1

Я пытаюсь отобразить серийный номер «получатель» вы выбрали в текстовом поле, но я получаю эту ошибку:Невозможно привязать свойство столбца

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

Я сделал это на другое текстовое поле с разные запросы (одни и те же коды, просто изменили имя столбца от «получателя» до «эмитента») просто для отладки и он работает! Я снова попробовал «получателя», но он все еще не работает. Мой код:

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() 

Это код от «эмитента», который работает:

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() 

я просто справлялся этот код и изменил имена TextBox и столбцов, и он не сделал работа уже .. Какая проблема? Я уже дважды проверял имена таблиц и столбцов.

ответ

0

Я думаю, вы должны написать

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

Столбец вернулся из запроса, называется RecipientSNo,
DataBindings.Add использовать ReceipientSNo

Смежные вопросы