Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 8
1

Оператор "+" для типов "String" и "System.Windows.Forms.ComboBox.ObjectCollection" не определен

09.05.2017, 14:04. Показов 1794. Ответов 5
Метки нет (Все метки)

Доброго времени суток,подскажите решение проблемы
К комбобоксам привязал БД отображаются в них названия,но вноситься в базу должны ключи этих названий
Выглядит это следующим образом
Оператор "+" для типов "String" и "System.Windows.Forms.ComboBox.ObjectCollection" не определен

Код:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim MS As Long
        Dim MyConnection As New OleDbConnection
        MyConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\7 вариант.accdb;"
        Dim MyCommand As New OleDbCommand
        MyCommand.Connection = MyConnection
        MyCommand.CommandText = "insert into Заказы(Код_работы,Код_работника,Код_клиента,) VALUES ('" + ComboBox1.Items + "','" + ComboBox2.Items + "','" + ComboBox3.Items + "')"
        MyConnection.Open()
        MyCommand.ExecuteNonQuery()
        MS = MsgBox("Заказ создан")
    End Sub
End Class
Он ругается на это Ошибка 1 Оператор "+" для типов "String" и "System.Windows.Forms.ComboBox.ObjectCollection" не определен. C:\Users\Илья\AppData\Local\Temporary Projects\WindowsApplication1\Form10.vb 23 33 WindowsApplication1
Делал по подобию от текстбоксов,но что то пошло не так
Как побороть?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2017, 14:04
Ответы с готовыми решениями:

Оператор "&" для типов "String" и "c_auth.ClientPacket" не определен
Прошу помощи у экспертов. Фото все по порядку. 1.Невозможно преобразовать значение типа...

Невозможно преобразовать значение типа "string" в "System.Windows.Forms.Label"
Невозможно преобразовать значение типа "string" в "System.Windows.Forms.Label". Вот программа: в...

Невозможно преобразовать значение типа "String" в "System.Windows.Forms.TextBox"
я уже третий раз пытаюсь задать вопрос, но не могу найти потом его((((((( я не программист, и...

"Не удалось привести тип объекта "System.Int32" к типу "System.String"."
Добрый день! Делаю запрос к локальной базе данных. Пытаюсь получить последнюю строку. Но что-то...

5
3933 / 3140 / 754
Регистрация: 02.02.2013
Сообщений: 3,007
Записей в блоге: 2
09.05.2017, 21:19 2
Замените ComboBox1.Items на ComboBox1.SelectedValue ну и "+" лучше заменить на "&".
2
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 8
09.05.2017, 21:46  [ТС] 3
С вашим вариантом теперь ругается на "Ошибка синтаксиса в инструкции INSERT INTO."

Добавлено через 13 минут
ЗЫ нашел у себя ошибку,спасибо заработало

Добавлено через 16 секунд
ЗЫ нашел у себя ошибку,спасибо заработало
0
COM‐пропагандист
535 / 466 / 106
Регистрация: 18.12.2014
Сообщений: 1,260
Записей в блоге: 3
09.05.2017, 22:04 4
Не создавайте запрос с помощью склейки строк, так как это небезопасно. Запрос следует создавать через параметры запроса.
VB.NET
1
2
3
4
5
6
7
Dim objConnection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\7 вариант.accdb;")
Dim command As New OleDbCommand("INSERT INTO Заказы(Код_работы,Код_работника,Код_клиента) VALUES (?, ?, ?)", ExcelConnection)
command.Parameters.Add("Значение кода работы")
command.Parameters.Add("Значение кода работника")
command.Parameters.Add("Значение кода клиента")
command.ExecuteNonQuery()
objConnection.Close()
5
13 / 13 / 5
Регистрация: 30.04.2016
Сообщений: 176
10.05.2017, 20:38 5
Цитата Сообщение от Замабувараев Посмотреть сообщение
Не создавайте запрос с помощью склейки строк, так как это небезопасно.
Удобство использования Вашей конструкции просто очевидно, а не подскажете в чем заключается "небезопасность" так сказать - традиционной схемы? В двух словах для начинающих)))
А то что-то я за год первый раз такую реализацию встретил. Вся прога построена на запросах, подобных ТСу
0
COM‐пропагандист
535 / 466 / 106
Регистрация: 18.12.2014
Сообщений: 1,260
Записей в блоге: 3
10.05.2017, 20:54 6
Цитата Сообщение от AlexNorton Посмотреть сообщение
в чем заключается "небезопасность"
SQL injection https://ru.wikipedia.org/wiki/... 0%B4%D0%B0
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2017, 20:54

Обработка "null" в MS Access "Приведение типа "|DBNull" к типу "String" является недопустимым"
Здравствуйте. Работаю с базой MS Access Вывожу в DataGridView таблицу Проблема следующая, если у...

"Приведение типа "|DBNull" к типу "String" при попытке загрузить данные из ячейки DataGridView в ComboBox
Доброго времени суток! Сама ошибка "Приведение типа "|DBNull" к типу "String" является...

Выражение типа "System.Windows.Forms.Control" не может быть выражением типа "System.Windows.Forms.Menu"
Перевёл проект с версии 2008 на версию 2010 Наткнулся при компиляции на кучу не объявленных...

"Text", импортированный из пространств имен или типов "System, System.Drawing", является неоднозначным
В Visual Studio 2010 при обработке строки с текстом появляется такая ошибка: "Text",...

Оператор "=" не задан для тип "DBNull" и строка "1".
Есть цикл, который проходит по списку компаний и смотрит, если у человека есть доступ - то в...

Поиск в DGW вылетает с ошибкой "Приведение типа "|DBNull" к типу "String" является недопустимым."
В общем такой вопрос. Код рабочий. Только у меня не работает. For i = 0 To...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.