#vb.net
#vb.net
Вопрос:
В настоящее время я создаю простой POS для аптеки, поэтому мои коды здесь
Dim currquan as Integer
cmd3.Connection = con3
cmd3.CommandText = "Select * from medicines where Drugs = " amp; Val(DataGridView1.Rows(x).Cells(0).Value.ToString) amp; ""
adapter1.SelectCommand = cmd3
ds1.Clear()
adapter1.Fill(ds1, "LIST")
currquan.DataBindings.Add("Text", ds, "List.Drugs")
currquan.DataBindings.Clear()
cmd3.ExecuteNonQuery()
Теперь, когда я это сделал currquan,databindings.add
, он подсвечивается и говорит: «Привязки данных не являются членом integer»
Я знаю, как использовать параметры, но сейчас я нахожусь в процессе проб и ошибок.
Комментарии:
1. Похоже, что существует путаница между
currquan
вами, объявленным какInteger
(который, как говорится в сообщении об ошибке, не имеет привязок данных), и некоторым другимcurrquan
, который является элементом управления пользовательского интерфейса. Вам необходимо решить эту проблему. Вероятно, лучшим подходом является обеспечение того, чтобы элемент управления пользовательского интерфейса и локальная переменная имели разные имена, поскольку это будет менее запутанным для читателя / сопровождающего кода.2. Команда выбора не является запросом. Для команды Select используйте
.ExecuteReader
или, если вы ожидаете одно значение.ExecuteScalar
.3. Вы уже выполнили свою команду при вызове
.Fill
DataAdapter . Не вызывайте . ExecuteNonQuery .4. Почему вы добавляете привязки, а затем очищаете их в следующей строке?
Ответ №1:
Спасибо за ваш вопрос, то, что вы пытаетесь сделать, это добавить привязку данных к целому числу. Целочисленный тип не имеет такой возможности. Вместо использования databinding вы можете просто установить значение «currquan» один раз.
cmd3.Connection = con3
cmd3.CommandText = "Select * from medicines where Drugs = " amp; Val(DataGridView1.Rows(x).Cells(0).Value.ToString) amp; ""
adapter1.SelectCommand = cmd3
ds1.Clear()
adapter1.Fill(ds1, "LIST")
currquan = ds.List.Drugs.Count
'currquan.DataBindings.Add("Text", ds, "List.Drugs")
'currquan.DataBindings.Clear()
cmd3.ExecuteNonQuery()
если вам нужно обновить это число, просто запустите этот код еще раз, чтобы обновить список.
Любые вопросы просто задавайте.