vb.net - ошибка выпадающего списка: «Невозможно привязать новый элемент значения. Имя параметра: значение ' - PullRequest
0 голосов
/ 30 июня 2011

У меня на самом деле есть три поля со списком.и я получил такую ​​ошибку в моем названии.Ниже приведены мои коды:

myCommand = New SqlCommand("SELECT (FirstName +' '+ LastName) AS FullName FROM tblVisitor", myConnection)
   myAdapter = New SqlDataAdapter(myCommand)
   myAdapter.Fill(myDataSet, "tblVisitor")
   cboVisitor.DataSource = myDataSet.Tables(0)
   cboVisitor.DisplayMember = "FullName"
   cboVisitor.ValueMember = "VisitorID"

   'my another combobox
   myCommand = New SqlCommand("SELECT BookCode FROM tblBook", myConnection)
   myAdapter = New SqlDataAdapter(myCommand)
   myAdapter.Fill(myDataSet, "tblBook")
   cboBookCode.DataSource = myDataSet.Tables(1)
   cboBookCode.DisplayMember = "BookCode"
   cboBookCode.ValueMember = "BookCode"  'where BookCode is the pk-column of the tblBook

   'my another combobox
   myCommand = New SqlCommand("SELECT (FirstName +' '+ LastName) AS StaffFullName FROM tblStaff", myConnection)
   myAdapter = New SqlDataAdapter(myCommand)
   myAdapter.Fill(myDataSet, "tblStaff")
   cboStaff.DataSource = myDataSet.Tables(2)
   cboStaff.DisplayMember = "StaffFullName"
   cboStaff.ValueMember = "StaffID"

С помощью этого кода я получил только первый комбобокс, который отображает результат запроса, а два других - нет, и выводит сообщение «Невозможно привязать к новому элементу значения.Имя параметра: значение '.Пожалуйста, помогите ...

Ответы [ 3 ]

2 голосов
/ 30 июня 2011

Попробуйте это:

myCommand = New SqlCommand("SELECT (FirstName +' '+ LastName) AS FullName FROM tblVisitor;SELECT BookCode FROM tblBook;SELECT (FirstName +' '+ LastName) AS StaffFullName FROM tblStaff", myConnection)
   myAdapter = New SqlDataAdapter(myCommand)
   myAdapter.Fill(myDataSet)

   cboVisitor.DataSource = myDataSet.Tables(0)
   cboVisitor.DisplayMember = "FullName"
   cboVisitor.ValueMember = "VisitorID"

   'my another combobox
   cboBookCode.DataSource = myDataSet.Tables(1)
   cboBookCode.DisplayMember = "BookCode"
   cboBookCode.ValueMember = "BookCode"  'where BookCode is the pk-column of the tblBook

   'my another combobox
   cboStaff.DataSource = myDataSet.Tables(2)
   cboStaff.DisplayMember = "StaffFullName"
   cboStaff.ValueMember = "StaffID"

Вы все путали, вызвав .Fill() несколько раз для одного и того же набора данных.Это также будет работать лучше, если совершить только одну поездку в базу данных.

1 голос
/ 30 июня 2011

VisitorID и StaffID не являются частью операторов Select.

0 голосов
/ 07 ноября 2016

При получении сообщения об ошибке « ... отображается сообщение« Невозможно выполнить привязку к новому элементу значения. Имя параметра: значение ». », вероятно, связано не с кодом .Net, а с оператором SQL, который вы Используем. У меня была проблема симлара, когда я выбирал только столбец нужного мне значения. в примере:

Select FullName from tblVisitor;

Когда вы делаете это, вы выбираете только FullName, идентификатор не указан в вашем наборе данных. Так что вам нужно будет позвонить:

Select * from tblVisitor;

Тогда этот код должен работать для отображения ваших memnbers:

cboVisitor.DataSource = myDataSet.Tables(0) cboVisitor.DisplayMember = "FullName" cboVisitor.ValueMember = "VisitorID"

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...