В Visual Studio с SQL создать связь таблиц
делаю проект не очень большой и не маленький журнал для учебного заведения и начал создавать. проблема возникла с таблицами . и не знаю теперь с какого место начать. есть таблица с индификатором пользователя есть таблица с группами и предметами . проблема возникает со студентами и оценками . я не могу представить что можно сделать со студентами их лучше писать в одну таблицу или типа в разные ? чтобы в дальнейшем привязать можно было к группе . и с оценками тобишь смотрите у меня будет у каждой группы список оценок по каждому предмету и вот тут мой мозг взорвался . и ещё с этим работать .
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Редактирование таблиц в БД MS SQL Server из Visual Studio
Уважаемые форумчане. Прошу помощи в решении следующей проблемы: в MS SQL Server есть БД, где.
SQL запрос (связь таблиц)
Здравствуйте, не могу сообразить, как составить запрос. Есть 2 таблицы: CREATE TABLE `users`.
Связь таблиц в Delphi SQL
В общем есть база данных, 6 таблиц, и 6 компонентов ADOQuery, связанные по принципу.
1634 / 1135 / 171
Регистрация: 23.07.2010
Сообщений: 6,713
типа в одну студентов типа в другую предметы и типа в третью оценки. тобишь с этим работать потом
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
Если Вам так трудно, то сначала в блокноте создайте одну большую таблицу, а потом приводите её к 3 нормальной форме. А то по скрину не видно как у Вас будут связаны таблицы между собой (нет внешних ключей).
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode
Подключение базы данных Oracle к Visual Studio
В этой статье поговорим про подключение базы данных Oracle к Visual Studio в качестве источника данных. А также рассмотрим пример написания простейшего запроса к базе данных.
БД Oracle — как источник данных в VS
У меня имеется база данных «Книжный интернет-магазин», созданная с помощью СУБД Oracle. Будем использовать эту БД в качестве примера источника данных в данной статье.
Итак, вначале создадим в Visual Studio проект: «Приложение Windows Forms».

После того, как проект создан, в меню «ПРОЕКТ» выберем «Добавить новый источник данных…».

Появится окно «Мастер настройки источника данных». В этом окне выберем элемент «База данных» и нажмем кнопку Далее.

В следующем окне выбираем элемент «Набор данных» и жмем кнопку Далее.

Теперь необходимо выбрать подключение к базе данных. Оно у нас пока отсутствует, поэтому его необходимо создать. Нажмем кнопку «Создать подключение…».

В качестве источника данных выберем «База данных Oracle». В разделе «Connection Details» укажим данные для своего подключения.
В пункте «Database service name» я указал «XE», потому что использую Express edition версию Oracle.

Выполним тест подключения. Для этого нажмем кнопку «Проверить подключение».

В окне «Добавить подключение» нажмем кнопку ОК. Теперь, когда подключение создано, в Мастере настройки источника данных нажмем кнопку Далее.

В следующем окне поставим галочку напротив пункта «Да, сохранить подключение как» и нажмем кнопку Далее.

В последнем окне Мастера настройки источника данных выберем объекты, которые необходимо использовать в качестве набора данных в программе. И укажем имя этого набора. Нажмем кнопку Готово.

Теперь продемонстрируем использование данных из подключенной базы данных. Добавим в форму WIndows Forms элемент управления DataGridView. Щелкнем мышью на треугольничек в правом верхнем углу DataGridView, откроется меню «Задачи». В этом меню можно выбрать источник данных проекта.
Выберем таблицу «Book» из базы данных.

В элементе управления DataGridView отобразятся данные из выбранной таблицы.

Пример запроса к БД Oracle из Visual Studio
Для написания запросов необходимо подключить к проекту через ссылку (References) библиотеку System_Data_OracleClient.dll (ссылка для скачивания этой библиотеки находится внизу страницы).
Приведем пример запроса к базе данных, для этого будем использовать язык C#. Получим название книги по ее ID.
Подключение и работа с MySQL в среде Visual C++
Совсем недавно мне необходимо было написать программу для удаленной работы с мускулом. В интернете, как не обидно, нашел лишь «скачайте бла-бла, подключите через include, и вот пример!». На практике не сработало, пришлось искать специалистов чтоб объяснили. Для исправления этого досадного отсутствия информации, выложу полное описание от «А» до «Я» по настройке и работе в среде Visual C++. Итак, приступим!
Данным образом настраивал Visual C++ 2008 и 2010. Т. к. особой разницы в интерфейсе разных версий визуалки нету, то и настройка проходит практически одинаково.
Для того что бы подключить БД, такую как мускул, и играться с ней на чистом API, нужно сначала установить или что бы было установлено такое ПО:
1. «Connector/C++»для 32-х розрядного приложения 32-х розрядный набор библиотек, а для 64-х соответственно 64-х битный набор (скачать можно здесь http://dev.mysql.com/downloads/connector/cpp/ ).
2. Дистрибутив мускула, у меня стоит MySQL Community Server 5.1.59 при установке нужно выбрать либо полную установку, либо выбрать самому весь набор, ну для разработки хватит набора DevCpp.
Теперь, у нас есть все библиотеки нужные для создания программы на Visual C++. Далее мы проверяем структуру наших директорий сервера мускула. У меня сервер установлен в D:\программирование\MySQL Server 5.1. Директория может быть произвольной, но в ней обязательно должны присутствовать папки include и lib. Далее копируем все файлы из C:\Program Files\MySQL\MySQL Connector C++ 1.1.0\lib\opt (папка с установленным коннектором) в D:\программирование\MySQL Server 5.1\lib\opt (папка с сервером).
Перекидывания файлов окончены, теперь настроим сам С++:
1. Открываем Visual C++, создаем стандартный консольный проект, сохраняем в любое удобное место.
2. Обязательно (. ) выбираем режим постройки проекта Release. Если выбрать стандартный Debug, то нужно файлы сохранять в другие директории.
3. Открываем свойства проекта (в окне обозревателя решений правой кнопкой по проекту — свойства).
4. Выбираем «Свойства конфигурации — С/С++ — Общие — Дополнительные каталоги включаемых файлов», добавляем каталог include из папки с сервером (в моем случае D:\программирование\MySQL Server 5.1\include).
6. В свойствах проекта выбираем пункт «Свойства конфигурации — С/С++ — Компоновщик — Общие — Дополнительные каталоги библиотек», добавляем каталог lib/opt (в моем случае D:\программирование\MySQL Server 5.1\lib\opt).
7. В свойствах проекта выбираем пункт «Свойства конфигурации — С/С++ — Компоновщик — Ввод — Дополнительные зависимости», добавляем 2 значения mysqlcppconn-static.lib и libmysql.lib.
8. В свойствах проекта выбираем пункт «Свойства конфигурации — С/С++ — Препроцессор — Определения препроцессора», добавляем значение CPPCONN_PUBLIC_FUNC=.
9. Сохраняем свойства проекта.
Далее все, что остается это дописать в проект #include , и можно работать!
Вот 2 простых примера работы с мускулом:
Тест подключения к БД
#include «stdafx.h»
#include
#include
#include
#include
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
MYSQL *conn;
// Получаем дескриптор соединения
conn = mysql_init(NULL);
if(conn == NULL)
// Если дескриптор не получен – выводим сообщение об ошибке
fprintf(stderr, «Error: can’tcreate MySQL-descriptor\n»);
//exit(1); //Если используется оконное приложение
>
// Подключаемся к серверу
if(!mysql_real_connect(conn, «localhost», «root», «root», «test», NULL, NULL, 0))
// Если нет возможности установить соединение с сервером
// базы данных выводим сообщение об ошибке
fprintf(stderr, «Error: can’tconnecttodatabase %s\n», mysql_error(conn));
>
else
// Если соединение успешно установлено выводим фразу — «Success!»
fprintf(stdout, «Success!\n»);
>
// Закрываем соединение с сервером базы данных
mysql_close(conn);
Вывод на экран данных из таблицы
#include»stdafx.h»
#include
#include
#include
#include
#include
int_tmain(intargc, _TCHAR* argv[])
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
// Получаем дескриптор соединения
conn = mysql_init(NULL);
if(conn == NULL)
// Если дескриптор не получен – выводим сообщение об ошибке
fprintf(stderr, «Error: can’tcreate MySQL-descriptor\n»);
//exit(1); //Если используется оконное приложение
>
// Подключаемся к серверу
if(!mysql_real_connect(conn, «localhost», «root», «root», «test», NULL, NULL, 0))
// Если нет возможности установить соединение с сервером
// базы данных выводим сообщение об ошибке
fprintf(stderr, «Error: can’tconnecttodatabase %s\n», mysql_error(conn));
>
else
// Если соединение успешно установлено выводим фразу — «Success!»
fprintf(stdout, «Success!\n»);
>
mysql_set_character_set(conn, «utf8»);
//Смотрим изменилась ли кодировка на нужную, по умалчанию идёт latin1
cout
mysql_query(conn,»SELECT id, text FROM mnu»); //Делаем запрос к таблице по имени МНУ =)
// Закрываем соединение с сервером базы данных
mysql_close(conn);
P. S. Спасибо Владимиру Будило за разъяснение темы, эта статья вышла благодаря его объяснениям.
Подключение базы данных Microsoft Access к приложению в Microsoft Visual Studio
Необходимо осуществить подключение базы данных к Windows -приложению на языке C# средствами Microsoft Visual Studio 2010 . Приложение должно быть реализовано как Windows Forms Application .
⇑
Выполнение
1. Создание приложения типа Windows Forms Application .
⇑
2. Вызов мастера подключения.
Для доступа к файлу базы данных необходимо сделать его подключение к приложению. Это осуществляется путем вызова команды « Add New Data Source… » из меню « Data » (рис. 1) либо кликом на крайней левой кнопке с панели инструментов Data Source .

Рисунок. 1. Вызов мастера подключения к файлу базы данных
⇑
3. Выбор типа источника данных.
В результате откроется окно мастера для подключения к источнику данных которое изображено на рис. 2.

Рисунок. 2. Выбор типа подключения из которого приложение будет получать данные
В окне необходимо выбрать один из четырех возможных вариантов подключения к источнику данных. В MS Visual Studio существует четыре типа подключения к источникам данных:
- Database – подключение к базе данных и выбор объектов базы данных;
- Service – открывает диалоговое окно Add Service Reference позволяющее создать соединение с сервисом, который возвращает данные для вашей программы;
- Object – позволяет выбрать объекты нашего приложения, которые в дальнейшем могут быть использованы для создания элементов управления ( controls ) с привязкой к данным;
- Share Point – позволяет подключиться к сайту SharePoint и выбрать объекты для вашей программы.
В нашем случае выбираем элемент Database и продолжаем нажатием на кнопке Next .
⇑
4. Выбор модели подключения к базе данных.
Следующий шаг – выбор модели подключения к базе данных (рис. 3).

Рис. 3. Выбор модели подключения к базе данных
Система предлагает выбор одного из двух вариантов:
- модели данных на основе набора данных ( Dataset );
- модели данных Entity , что означает, что система может сгенерировать модель данных из базы данных которой могут выступать сервера баз данных Microsoft SQL Server , Microsoftt SQL Server Compact 3.5 или Microsoft SQL Server Database File , либо создать пустую модель как отправную точку для визуального проектирования концептуальной модели с помощью панели инструментов.
В нашем случае выбираем тип модели данных DataSet .
⇑
5. Задание соединения с БД.
Следующим шагом мастера (рис. 4) есть выбор соединения данных которое должно использоваться приложением для соединения с базой данных.

Рис. 4. Выбор соединения с базой данных
Для создания нового соединения необходимо выбрать кнопку « New Connection… «. В результате откроется окно « Add Connection » (рис. 5) в котором нужно добавить новое соединение Microsoft Access и выбрать маршрут к файлу базы данных.
В нашем случае поле « Data source » уже содержит нужный нам тип соединения « Microsoft Access Database File (OLE DB) «.

Рис. 5. Добавление нового соединения и выбор файла базы данных
Если нужно выбрать другую базу данных, то для этого используется кнопка « Change… «, которая открывает окно, изображенное на рисунке 6.

Рис. 6. Смена источника данных
В окне на рисунке 6 системой Microsoft Visual Studio будет предложено следующие виды источников данных:
- Microsoft Access Database File – база данных Microsoft Access ;
- Microsoft ODBC Data Source – доступ к базе данных с помощью программного интерфейса ODBC ( Open Database Connectivity );
- Microsoft SQL Server ;
- Microsoft SQL Server Compact 3.5 ;
- Microsoft SQL Server Database File ;
- Oracle Database – база данных Oracle .
Нажимаем кнопку « Browse… » и в открывшемся окне (рис. 7) « Add Connection » выбираем маршрут к файлу базы данных « db1.mdb «. Целесообразно размещать файл базы данных в каталоге содержащим исполняемый модуль приложения.
Для проверки правильности установленного соединения можно воспользоваться кнопкой « Test Connection «.

Рисунок 7. Окно « Add Connection » с выбранной базой данных « db1.mdb «
После нажатия на кнопке ОК система сгенерирует строку « Connection string » (рис. 8) который в дальнейшем будет использован для программного подключения к базе данных.
Кликаем на « Next » для продолжения работы мастера.

Рис. 8. Строка Connection string
После выбора Next система выдаст информационное окно следующего вида (рис. 9). Если выбрать «Да», то файл базы данных « db1.mdb » будет копироваться в выходной каталог приложения каждый раз при его запуске в среде MS Visual Studio . Как правило, это каталог, содержащий основные модули приложения. В нашем случае каталог
Е:\Programs\C_Sharp\WindowsFormsApplication1\WindowsFormsApplication1
В этом каталоге размещаются все основные исходные модули проекта, например Program.cs (модуль, содержащий основную функцию WinMain() ) , Form1.cs (содержит исходный код обработки главной формы приложения) и другие.

Рисунок 9. Окно добавления файла базы данных в проект
⇑
6. Формирование конфигурационного файла приложения.
После выбора кнопки « Next » мастера откроется следующее окно, в котором предлагается сохранить строку соединения в конфигурационный файл приложения (рис. 10).

Рисунок 10. Предложение записи строки подключения к базе данных в конфигурационный файл приложения
Ничего не изменяем, оставляем все как есть (кликаем на Next ).
⇑
7. Выбор объектов базы данных для использования в программе
Последнее окно мастера (рисунок 11) предлагает выбрать список объектов (таблиц, запросов, макросов, форм и т.д.), которые будут использоваться в наборе данных. Как правило выбираем все таблицы базы данных. В нашем примере база данных содержит всего одну таблицу с именем Tovar .

Рисунок 11. Выбор объектов базы данных, которые будут использоваться в данном наборе данных
После выбора кнопки « Finish » заканчиваем работу с мастером подключения. Теперь база данных подключена к приложению и будет автоматически подключаться при его запуске или при его проектировании в MS Visual Studio .
⇑
8. Что же изменилось в программе после выполнения мастера?
Если выбрать панель Data Source (рисунок 12), то можно увидеть, как подключен набор данных с именем db1Dataset в котором есть таблица с именем Tovar .

Рисунок 12. Окно DataSources содержит подключение к базе данных
Точно также можно увидеть изменентия в панели Server Explorer (рисунок 13), где появилась база данных « db1.mdb » с таблицей Tovar и ее полями. Приложение может подключать не только одну, но и несколько баз данных.

Рис. 13. Окно приложения с изменениями в панели Server Explorer
⇑
9. Подключение методов оперирования базой данных.
Для того, чтобы использовать методы, которые будут работать с базой данных MS Access (и не только MS Access ), необходимо подключить пространство имен System.Data.OleDb .
Для этого в основной форме ( Form1.cs ) в Solution Explorer выбираем режим просмотра кода (View Code) из контекстного меню (рис. 14) и вначале файла добавляем следующую строку:
using System.Data.OleDb;

Рисунок 14. Вызов программного кода главной формы приложения ( Form1.cs ) с помощью Solution Explorer
Общий вид верхней части файла Form1.cs будет следующим:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb;
На этом этапе подключение к базе данных db1.mdb выполнено. Дальнейшими шагами есть создание программного кода для оперирования данными в базе данных.
⇑
Связанные темы
- Вывод таблицы базы данных Microsoft Access в компоненте dataGridView
- Разработка приложения автоматизации диспетчера касс автовокзала
- Перевод базы данных Microsoft Access в формат MS SQL Server
- Пример разработки программы демонстрации основных операций над данными таблицы базы данных MS SQL Server
