Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
3 / 2 / 3
Регистрация: 11.08.2016
Сообщений: 90

Подключить Sql БД к приложению и вывести на экран

26.08.2016, 21:56. Показов 7391. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет)
С БД знаком мало. Скачал денвер, зашел на phpmyadmin, создал там таблицу. Сделал экспорт.
Скачал файл players.sql
Но возникли трудности в подключении программы к файлу БД.
1) Сначала пробовал так: Сервис - подключиться базе данных.. пробовал разные варианты, не помогло.
2) Нашел вот этот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
         using System.Data.SqlClient
 
         SqlConnection* connection1 = new SqlConnection (@"****");
             string CommandText = "****";
             DataSet dSet;
             SqlDataAdapter sqlDataAdapter1;
         
            connection1->Open();
             CommandText = "SELECT * from ....."
             dSet = new DataSet();
             sqlDataAdapter1 = new SqlDataAdapter();
             sqlDataAdapter->SelectCommand = new SqlCommand(CommandText, connection1);
             sqlDataAdapter1->Fill(dSet);
             DataGridView1->DataSource = dSet;
             connection1->Close();
             }
, но с ним тоже беда:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
1>d:\программирование\bd\bd\bd\Form1.h(81): error C2018: неизвестный знак "0x40"
1>d:\программирование\bd\bd\bd\Form1.h(79): error C2143: синтаксическая ошибка: отсутствие ";" перед "."
1>d:\программирование\bd\bd\bd\Form1.h(79): error C2873: System: использование символа в "using"-объявлении не допускается
1>d:\программирование\bd\bd\bd\Form1.h(79): error C2143: синтаксическая ошибка: отсутствие ";" перед "."
1>d:\программирование\bd\bd\bd\Form1.h(82): error C2065: string: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(82): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "CommandText"
1>d:\программирование\bd\bd\bd\Form1.h(82): error C2065: CommandText: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(84): error C2065: SqlDataAdapter: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(84): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "sqlDataAdapter1"
1>d:\программирование\bd\bd\bd\Form1.h(84): error C2065: sqlDataAdapter1: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(86): error C2065: connection1: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(86): error C2227: выражение слева от "->Open" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>          тип: 'unknown-type'
1>d:\программирование\bd\bd\bd\Form1.h(87): error C2065: CommandText: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(88): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "dSet"
1>d:\программирование\bd\bd\bd\Form1.h(88): error C2750: System::Data::DataSet: невозможно использовать "new" в ссылочном типе; следует использовать "gcnew"
1>d:\программирование\bd\bd\bd\Form1.h(88): error C2582: функция "operator =" недоступна в "System::Data::DataSet"
1>d:\программирование\bd\bd\bd\Form1.h(89): error C2065: sqlDataAdapter1: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(89): error C2061: синтаксическая ошибка: идентификатор "SqlDataAdapter"
1>d:\программирование\bd\bd\bd\Form1.h(90): error C2065: sqlDataAdapter: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(90): error C2227: выражение слева от "->SelectCommand" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>          тип: 'unknown-type'
1>d:\программирование\bd\bd\bd\Form1.h(90): error C2061: синтаксическая ошибка: идентификатор "SqlCommand"
1>d:\программирование\bd\bd\bd\Form1.h(91): error C2065: sqlDataAdapter1: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(91): error C2227: выражение слева от "->Fill" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>          тип: 'unknown-type'
1>d:\программирование\bd\bd\bd\Form1.h(92): error C2065: DataGridView1: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(92): error C2227: выражение слева от "->DataSource" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>          тип: 'unknown-type'
1>d:\программирование\bd\bd\bd\Form1.h(93): error C2065: connection1: необъявленный идентификатор
1>d:\программирование\bd\bd\bd\Form1.h(93): error C2227: выражение слева от "->Close" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>          тип: 'unknown-type'
1>
Возможно, у кого то найдется пример кода, как подключиться к базе?

Добавлено через 4 часа 38 минут
никто вообще ничего не знает?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.08.2016, 21:56
Ответы с готовыми решениями:

Помогите подключить sql server compact 3.5 к приложению
http://msdn.microsoft.com/en-us/library/aa983326.aspx это алгоритм. тут говорится про Solution Explorer/Database Explorer не могу...

Как подключить базу SQL Server к веб приложению Asp.Net?
В книге Евсеевой "Работа с базами данных в C# " очень и очень подробно описано как работать подключать и редактировать базы на языке C# на...

Как подключить MS Access к приложению
У меня есть приложение. Нужно подключить базу данных для выполения регистрации и входа на с++. Добавлено через 11 минут посоветуйте...

10
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
27.08.2016, 10:03
Лучший ответ Сообщение было отмечено DriFT как решение

Решение

DriFT, для подключения к БД MySQL нужно сначала установить клиентские библиотеки: Connector/Net. Затем нужно добавить ссылку (reference) на эту библиотеку. После этого можно писать код.

Цитата Сообщение от DriFT Посмотреть сообщение
Скачал денвер, зашел на phpmyadmin, создал там таблицу. Сделал экспорт.
Скачал файл players.sql
Достаточно было создать таблицу. Экспорт в файл здесь не нужен.

Цитата Сообщение от DriFT Посмотреть сообщение
Нашел вот этот код
Интересно где ты его нашел т.к. это смесь C# и C++ которая конечно же не будет компилироваться. Нужно примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 
    MySqlConnection^  dbConn = gcnew MySqlConnection("Server=localhost; Database=myDataBase; Uid=myUsername; Pwd=myPassword;");
    MySqlCommand^ dbCmd = gcnew MySqlCommand("SELECT * FROM TableName", dnConn);
    MySqlDataAdapter^ dataAdapter = gcnew MySqlDataAdapter(dbCmd);
    DataSet^ dataSet = gcnew DataSet();
 
    dbConn->Open();
    dataAdapter->Fill(dataSet);
    dbConn->Close();
 
    DataGridView1->DataSource = dataSet->Tables[0];
}
В начале файла добавь
C++
1
2
using namespace System::Data;
using namespace MySql::Data::MySqlClient;
Далее подставь в строке соединения имя свой БД, логин и пароль пользователя.

P.S. Тебе уже советовали использовать C# для создания оконных приложений. Советую прислушаться т.к. Microsoft больше не поддерживает создание Windows Foms приложений на C++/CLI. Примеров по теме мало и тебе как начинающему будет очень тяжело.
1
3 / 2 / 3
Регистрация: 11.08.2016
Сообщений: 90
27.08.2016, 10:39  [ТС]
Спасибо огромное за ответ!

Цитата Сообщение от OwenGlendower Посмотреть сообщение
P.S. Тебе уже советовали использовать C# для создания оконных приложений. Советую прислушаться т.к. Microsoft больше не поддерживает создание Windows Foms приложений на C++/CLI. Примеров по теме мало и тебе как начинающему будет очень тяжело.
Согласен тяжело, код часто приходится переделывать под с++, т.к. уроки в основном по с#. Из темы той, где я задал ворос, понял что с# легче, но в то же время получается на с++ больше возможностей? Например те же высоконагруженные сервера, кроссплатформенные приложения.. Пробую вот с с++, а вдруг получится

Т.к а если microsoft больше не поддерживает создание windows forms c++/CLI приложений, это может означать тот факт, что в дальнейшем, если вот я например устроюсь работать программистом не будут использоваться данный вид приложений?

Отдельное спасибо за код, сейчас протестирую, отпишусь
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
27.08.2016, 12:01
Цитата Сообщение от DriFT Посмотреть сообщение
Согласен тяжело, код часто приходится переделывать под с++, т.к. уроки в основном по с#
Тут помогут несколько простых правил: после имени .NET типа нужно ставить ^, вместо new пишем gcnew, вместо @-строк используем обычные строки (не забывая добавить escape символы), вместо оператора . используем ->, для доступа к static членам используем ::

Цитата Сообщение от DriFT Посмотреть сообщение
понял что с# легче, но в то же время получается на с++ больше возможностей? Например те же высоконагруженные сервера, кроссплатформенные приложения.
По возможностям C++ обгоняет C#. Если стоит задача написать максимально производительный код, то это лучше делать на C++. Зато в C# легче и быстрее писать прикладные приложения. Кросс-платформенные приложения на C# тоже можно писать. Недавний выход Core CLR открыл здесь дополнительные перспективы.

Цитата Сообщение от DriFT Посмотреть сообщение
Т.к а если microsoft больше не поддерживает создание windows forms c++/CLI приложений, это может означать тот факт, что в дальнейшем, если вот я например устроюсь работать программистом не будут использоваться данный вид приложений?
Windows Forms приложения на C++/CLI с большой вероятностью не будут востребованы. Но сама технология Windows Forms пока умирать не собирается. Поэтому полученные знания пригодятся в том же C#, например. Если тебе интересно создание настольных прикладных приложений, то тут сейчас существует множество технологий: старый добрый Windows API, Windows Forms и WPF под .NET, универсальные приложения для Windows 10.
1
3 / 2 / 3
Регистрация: 11.08.2016
Сообщений: 90
27.08.2016, 12:39  [ТС]
Я о winAPI слышал, но мне оно чего то не дается..
А вот еще вопрос, если не сложно.. подскажи пожалуйста.
Я установил эти библиотеки, а как их теперь подключить?
Спасибо!
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
27.08.2016, 16:57
Цитата Сообщение от DriFT Посмотреть сообщение
как их теперь подключить?
В VS 2015 это делается в Solution Explorer через контекствое меню для папки References. В предыдущих версиях это вроде делается в свойствах проекта.
1
3 / 2 / 3
Регистрация: 11.08.2016
Сообщений: 90
27.08.2016, 17:02  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
В VS 2015 это делается в Solution Explorer через контекствое меню для папки References. В предыдущих версиях это вроде делается в свойствах проекта.
vs 2010, нашел то что нужно, а как их правильно прописать?
Спасибо большое!
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
27.08.2016, 21:20
DriFT, создай рядом с solution-файлом папку Libs. скопируй туда файл MySql.Data.dll (и MySql.Data.pdb + MySql.Data.xml). Далее добавляешь ссылку на файл MySql.Data.dll.
1
3 / 2 / 3
Регистрация: 11.08.2016
Сообщений: 90
11.09.2016, 12:13  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
DriFT, создай рядом с solution-файлом папку Libs. скопируй туда файл MySql.Data.dll (и MySql.Data.pdb + MySql.Data.xml). Далее добавляешь ссылку на файл MySql.Data.dll.
Извинить, что не ответил, не было возможности. А где находится этот solution файл?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
11.09.2016, 13:32
DriFT, solution файл это файл с расширением sln. Находится на один уровень выше папки проекта или в ней.
1
3 / 2 / 3
Регистрация: 11.08.2016
Сообщений: 90
11.09.2016, 16:55  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
DriFT, solution файл это файл с расширением sln. Находится на один уровень выше папки проекта или в ней.
аа понял, спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2016, 16:55
Помогаю со студенческими работами здесь

не могу подключить телефон к приложению
Не могу подключить Нокию к приложению на Android Studio, чтобы запустить приложение. Нужен Драйвер. Помогите если у кого есть скинтe сслку...

Не получается подключить dll к приложению
Пишу приложение и по заданию надо к нему подключить dll ( тоже мной написана чуть раньше) , подключаю ее как обычно "Добавить ссылку ...

Как подключить к приложению манифест?
расскажите пожалуйста пошагово,что делать,чтобы подключить файл манифеста в проект ,чтобы интерфейс был как у Win XP,есть код манифеста на...

Как подключить БД MySQL (с сервера) к приложению?
Всем привет, хорошего дня! Нужна помощь в подключении БД MYSQL. Сама БД хранится на сервере (Денвер), к ней открыт доступ с любого адреса,...

Как подключить ole драйвер к приложению
Всем доброго времени суток. Никак не могу разобраться. Есть ole-драйвер для кассового аппарата oleepson.dll. В системе уже...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru