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

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

26.08.2016, 21:56. Показов 7259. Ответов 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
18242 / 14156 / 5366
Регистрация: 17.03.2014
Сообщений: 28,846
Записей в блоге: 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
18242 / 14156 / 5366
Регистрация: 17.03.2014
Сообщений: 28,846
Записей в блоге: 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
18242 / 14156 / 5366
Регистрация: 17.03.2014
Сообщений: 28,846
Записей в блоге: 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
18242 / 14156 / 5366
Регистрация: 17.03.2014
Сообщений: 28,846
Записей в блоге: 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
18242 / 14156 / 5366
Регистрация: 17.03.2014
Сообщений: 28,846
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru