Как сделать таблицу sql в visual studio

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024

Техническое обеспечение

2.1 Персональная ЭВМ IBM Pentium IV и более поздних моделей c оперативной памятью не менее 512 Мбайт.

2.4 Манипулятор типа “мышь”.

Программное обеспечение

3.1 Операционная система Windows XP SP 3 более поздние версии Windows.

3.2 Система программирования Microsoft Visual Studio 2005 и более поздние версии.

Постановка задачи

Разработать консольное и Windows-приложения для однотабличной базы данных для СУБД Microsoft SQL Server, реализованной согласно варианта задания, которые приведены в разделе 6 настоящих методических указаний.

Предусмотреть для данной базы данных добавление и удаление записей, фильтрацию записей, вывод отдельных записей и всей базы данных на экран, упорядочивание записей по значению одного из полей с помощью хранимой процедуры, вставку записей с использованием транзакций, выяснение доступности соединения с базой данных.

Большинство приложений так или иначе обрабатывает данные. Эти данные час­то хранятся в реляционной базе данных, например, SQL Server, Oracle или MySQL (существует и множество других).

Во всех примерах методических указаний используется база данных TestDB, содержащая единственную таблицу под названием Books. В первом разделе обсуждается созда­ние базы данных на сервере SQL Server.

Создание базы данных в Visual Studio

Задача. Вы хотите создать базу данных из среды Visual Studio.

Решение. Вначале установите сервер базы данных, например, SQL Server (для целей этих методических указаний отлично подойдет Express Edition). В то время как SQL Server ав­томатически интегрируется с Visual Studio, не исключено, что вам придется загру­зить дополнительные компоненты, чтобы базы данных от сторонних производите­лей могли работать в среде Visual Studio. В этом разделе предполагается, что вы используете SQL Server.

1) Откройте Server Explorer (в меню View (Вид) или комбинацией клавиш + , ).

2) Сделайте щелчок правой кнопкой мыши по Data Connections (Соединения с данными) и выберите Create New SQL Server Database (Создать базу данных в SQL Server).

3) Выберите экземпляр сервера в раскрывающемся списке и укажите метод аутен­тификации (в соответствии с настройками сервера).

4) Введите имя, например, TestDB и щелкните по кнопке ОК.

5) Разверните окно созданной базы данных.

6) Сделайте щелчок правой кнопкой мыши по Tables и выберите пункт Add New Table (Добавить новую таблицу).

7) Сконфигурируйте таблицу примерно так, как показано на рис. 17.1.

8) Закройте окно и дайте таблице имя Books.

9) Чтобы заполнить таблицу данными, сделайте на ней щелчок правой кнопкой мыши и выберите Show Table Data (Показать данные таблицы). Значения, ко­торые я добавил в свою таблицу, показаны на рис. 17.2.


Рисунок 17.1 – Конфигурация таблицы в тестовой базе данных


Рисунок 17.2 – Данные в таблице

Соединение с базой и чтение данных

Задача. Вам нужно установить соединение с базой данных и выдать простой за­прос к ней.

Решение. Работа с большинством баз данных сводится к следующим шагам:

1) Создать соединение с помощью строки соединения.

2) Выдать команду в соответствии с синтаксисом SQL.

3) Выполнить команду через соединение и, возможно, получить данные.

В следующих разделах вы увидите конкретные примеры того, как это делается. Чтобы код примеров в этой главе был работоспособным, в большинстве случаев требуется пространство имен System.Data.SqlClient, даже если в коде отсутству­ют прямые ссылки на него.

Реализацию данной задачи см. проект ConnectToSqlServer.

Соединение с SQL Server

static void Main(string[] args)

string connectionString = GetConnectionString();

using (SqlConnection conn =

//He забудьте передать команде объект-соединение

using (SqlCommand cmd = new SqlCommand(

"SELECT * FROM Books", conn)

using (SqlDataReader reader = cmd.ExecuteReader())

// Класс SqlDataReader читает ряды и базы данных

// по одному, по мере того, как вы их запрашиваете

catch (SqlException ex)

// Хранить строки соединения в исходном коде не нужно.

// но здесь это сделано в иллюстративных целях

static string GetConnectionString()

// Укажите источник данных, соответствующий

// локальной копии SQL Server на вашем компьютере

return @"Data source=NICOL_SRV\SQLEXPRESS;

Initial Catalog=TestDB; Integrated Security=SSPI";

Этот код выводит следующие результаты:

Les Miserables 1862

Notre-Dame de Paris 1831

Соединение с MySQL

- воспользоваться программой-установщиком, которая поместит библиотеку MySql.Data.dll в глобальный кэш сборки (GAC, Global Assembly Cache), чтобы приложения MySql могли обращаться к ней;

- поместить MySql.Data.dll в свой проект и обращаться к ней непосредственно из файловой системы.

В коде, сопровождающем эту главу, выбрана вторая возможность. Хотя это дело вкуса, я предпочитаю минимизировать внешние зависимости проекта. После до­бавления ссылки на компонент код оказывается практически идентичным коду, работающему с SQL Server.

Реализацию данной задачи см. проект ConnectToMySQL.

static void Main(string[] args)

string connectionString = GetConnectionString();

// Практически код тот же самый,

// но везде появился префикс “My”

using (MySqlConnection conn =

using (MySqlCommand cmd = new MySqlCommand(

"SELECT * FROM Books", conn))

using (MySqlDataReader reader = cmd.ExecuteReader())

catch (MySqlException ex)

// Хранить строки соединения в исходном коде не надо,

// но здесь это сделано в иллюстративных целях

static string GetConnectionString()

return @"Data source=localhost;Initial Catalog=TestDB;

Примечания

Когда вы пользуетесь базовыми классами для работы с базами данных, в вашем рас­поряжении имеются только функциональные возможности, общие для всех серверов. Но даже в этом случае есть вероятность, что какая-то база данных не поддерживает весь интерфейс. То есть, при попытке написать код, не зависящий от базы данных, вы все-таки вынуждены реализовать функциональность, специфичную для отдельных баз данных.

В реальной ситуации вам придется потратить больше усилий, если вы хотите напи­сать действительно полезный код, не зависящий от базы данных. Базы данных вклю­чают в себя множество функциональных составляющих, таких как триггеры, представ­ления, хранимые процедуры и т. д. Поэтому достижение подлинной независимости кода потребует немалого труда.

Примечания

Большинство SQL-объектов является оболочками для внешних ресурсов, и это объ­ясняет активное использование операторов using в коде программы.

Для выполнения кода обязательно используйте объекты класса SqlCommandс пара­метрами. Это защитит вашу базу данных от атак вида "SQL-инъекция". Если вы буде­те выполнять обычные SQL-операторы, особенно с пользовательскими данными внутри них, это послужит сигналом для злоумышленников, что базу данных можно ук­расть или разрушить.

Действительно ли вам необходимо удалить данные? Эта задача может оказаться до­вольно трудоемкой, если у вас много таблиц, ссылающихся друг на друга. Вы не по­верите, но во многих случаях гораздо проще оставлять данные в таблице и сопровож­дать поле "Удалено", которое будет служить идентификатором, что запись содержит неактивные данные.

Тем не менее, удалять данные приходится. Например, если принят закон, требующий удаления определенных данных по истечении определенного интервала времени.

Транзакции

Задача. Вы хотите использовать транзакции, чтобы несколько операций обраба­тывались как атомарная единица, то есть либо все они выполняются успешно, либо все заканчиваются неудачей.

Решение. Вы можете создать транзакцию на основе объекта-соединения. После этого нужно включать ее в каждую выполняемую команду.

После создания таблицы "Предметы" создайте таблицу "Студенты". Создайте новую таблицу аналогичную таблице представленной на рис. 6.8.


Рассматривая поля новой таблицы можно придти к следующим выводам:

  • Поле "Код студента" - это первичное поле для связи с таблицей оценки. Следовательно, данное поле необходимо сделать числовым счетчиком и ключевым (см. создание таблицы "Специальности" выше);
  • Поля "ФИО", "Пол", "Родители", "Адрес", "Телефон", "Паспортные данные" и "Группа" являются текстовыми полями различной длины (для задания длины выделенного текстового поля необходимо в таблице свойств выделенного поля установить свойство Length равное максимальному количеству знаков текста вводимого в поле);
  • Поля "Дата рождения" и "Дата поступления" предназначены для хранения дат. Поэтому они имеют тип данных "date";
  • Поле "Очная форма обучения" является логическим полем. В " Microsoft SQL Server 2008 " такие поля должны иметь тип данных "bit";
  • Поля "Номер зачетки" и "Курс" являются целочисленными. Единственным отличием является размер полей. Поле "Номер зачетки" предназначено для хранения целых чисел в диапазоне -2 63 …+2 63 (тип данных "bigint"). Поле "Курс " предназначено для хранения целых чисел в диапазоне 0…255 (тип данных "tinyint");
  • Поле "Код специальности" - это поле связи с таблицей "Специальности". Однако, данное поле связи является вторичным, поэтому его можно сделать просто целочисленным, то есть, "bigint".

После определения полей таблицы "Студенты", закройте окно создания новой таблицы. В появившемся окне "Chose Name" задайте имя новой таблицы как "Студенты" ( рис. 6.9).


Таблица "Студенты" появится в папке "Tables" в обозревателе объектов ( рис. 6.10).

Наконец, создадим таблицу "Оценки". Создайте поля, представленные на рис. 6.10.


Таблица "Оценки" не имеет первичных полей связи. Следовательно, эта таблица не имеет ключевых полей. Поля "Код предмета 1", "Код предмета 2" и "Код предмета 3" являются вторичными полями связи, предназначенными для связи с таблицей "Предметы", поэтому они являются целочисленными (тип данных "bigint"). Поля "Дата экзамена 1", "Дата экзамена 2" и "Дата экзамена 3" предназначены для хранения дат ( тип данных " date "). Поля "Оценка 1", "Оценка 2", и "Оценка 3" предназначены для хранения оценок. Задайте тип данных для этого поля "tinyint". Наконец, поле "Средний балл" хранит дробные числа и имеет тип " real ".

Закройте окно создания новой таблицы, задав имя таблицы как "Оценки" ( рис. 6.11).


На этом мы заканчиваем создание таблиц БД "Students". После создания всех таблиц окно обозревателя объектов будет выглядеть так ( рис. 6.12):


Теперь рассмотрим операцию заполнения таблиц начальными данными.

Для начала заполним таблицу "Специальности". Для заполнения этой таблицы в обозревателе объектов щелкните правой кнопкой мыши по таблице "Специальности" ( рис. 6.12) и в появившемся меню выберите пункт "Edit Top 200 Rows" (Редактировать первые 200 записей.). В рабочей области " Microsoft SQL Server Management Studio" проявится окно заполнения таблиц. Заполните таблицу "Специальности", как показано на рис. 6.13.


Замечание: Заполнение таблиц происходит полностью аналогично табличному процессору "Microsoft Excel 2000".

Замечание: Так как поле "Код специальности" является первичным полем связи и ключевым числовым счетчиком, то оно заполняется автоматически (заполнять его не нужно).

Закройте окно заполнения таблицы "Специальность" щелкнув по кнопке закрытия окна


После заполнения таблицы "Специальности" заполним таблицу "Предметы". Откройте ее для заполнения как описано выше, и заполните, как показано на рис. 6.14.


Закройте окно заполнения таблицы "Предметы" и перейдите к заполнению таблицы "Студенты". Откройте таблицу "Студенты" для заполнения и заполните ее как показано ниже ( рис. 6.15).


Замечание: Для заполнения дат в качестве разделителя можно использовать знак ".". Даты можно заполнять в формате "день.месяц.год".

Замечание: Поле "Код специальности" является вторичным полем связи (для связи с таблицей "Специальности" ). Следовательно, значения этого поля необходимо заполнять значениями поля "Код специальности" таблицы "Специальности". В нашем случая это значения от 1 до 5 ( рис. 6.13). Если у Вас коды специальностей в таблице "Специальности" имеют другие значения, то внесите их в таблицу "Студенты".

По окончании заполнения, закройте окно заполнения таблицы "Студенты".

Наконец заполним таблицу "Оценки", как это показано на рис. 6.16.


Замечание: Поля с датами заполняются, как и в таблице "Студенты" (см. выше).

Замечание: Поля "Код предмета 1", "Код предмета 2" и "Код предмета 3" являются вторичными полями связи с таблицей "Предметы". Поэтому они должны быть заполнены значениями поля "Код предмета из этой таблицы", то есть значениями от 1 до 5 (см. рис. 6.14).

Закройте окно заполнения таблицы "Оценки". На этом мы заканчиваем создание и заполнение таблиц нашей БД "Students".

Простая база данных на MS Visual Studio 2014 и MS SQL Server

Как сделать самому простую базу данных с использованием Microfoft Visual Studio 2014 и MS SQL Server 2014?

Устанавливаете и запускаете MS SQL Server

01 sqlnewbase Простая база данных на MS Visual Studio 2014 и MS SQL Server

Создаем базу данных.

Для этого в контекстном меню (правая кнопка мыши на Базы данных ) выбираете Создать базу данных

01 sqlnewbase1 398x350 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Потом нажимаете правой кнопкой мыши на название базы выбираете Создать скрипт для базы данных - Использовать Create - Новое окно редактора запросов.

02 sqlnewtable 450x184 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Там пишете запрос на создание таблички

Создается табличка baza со столбцами fio Длиной 100 символов и tel длиной тоже 100 символов.

03 createtable 450x245 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Потом щелкаете правой кнопкой мыши по белому полю рядом с запросом и выбираете в открывшемся меню пункт Выполнить

04 table Простая база данных на MS Visual Studio 2014 и MS SQL Server

Будет создана табличка baza в базе данных sqlbase

Потом запускаем установленный MS Visual Studio 2014

1 newproject 450x284 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Выбираете пункт меню ФАЙЛ-Создать проект.

2 winforms 450x312 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Затем выбираете Приложение Windows Forms

3 form 432x350 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Открывается основная форма программы.

Затем выбираете пункт меню ПРОЕКТ-Добавить новый источник данных.

4 newdatabase 397x350 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Затем выбираете тип источника данных База данных.

5 database 423x350 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Модель базы данных указываете Набор данных.

6 data 450x346 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Затем в окне Выбора подключения базы данных нажмите Создать подключение и в открывшемся окне введите параметры подключения к базе MS SQL сервера.

7 sqlpodkluch 329x350 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Имя сервера server\sqlexpress

Имя базы данных sqlbase

Затем в окне выбора объектов базы выберите нужную Вам табличку.

9 select 450x350 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Затем на панели инструментов выберите DataGridView и поместите его на форму.

10 datagrid 450x270 Простая база данных на MS Visual Studio 2014 и MS SQL Server

В меню "DataGrid View Задачи" (маленький треугольник вверху справа серого квадрата) выберите нужную таблицу.

11 sourcedatagrid 450x275 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Затем добавьте две кнопки на форму Button1 и Button2

Дважды щелкните по Button1 и в скобки впишите код

13 add 450x206 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Потом дважды щелкните по Button2 и в скобки впишите код

14 delete 450x157 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Затем переименуйте кнопки Button1 и Button2 в Добавить и Удалить соответственно.

14 knopki 450x346 Простая база данных на MS Visual Studio 2014 и MS SQL Server

В итоге получилась такая программка.

itogbase1 450x293 Простая база данных на MS Visual Studio 2014 и MS SQL Server

itogbase2 450x287 Простая база данных на MS Visual Studio 2014 и MS SQL Server

Сюда можно вставить текстовые поля для ввода и подставить в код их значения, добавить поиск, принцип можно посмотреть в разделе Простая база данных на Delphi7 или, например, в Пошаговом описании создания базы данных

Создание таблицы MS sql из XSD файла
Народ. В XSD файле есть таблица как можно создать новую таблицу на основе этого файла ??

динамическое создание таблицы в базе sql server
Здравствуйте форумчане, допустим есть кнопка, как при нажатии этой кнопки можно создать таблицу в.

Неудивительно. Переменная str не записывается в CommandText команды и команда только создается, но не выполняется. Нужно делать так:

Создание таблицы SQL
Всем добрый день. помогите пожалуста разобраться с таблицей, судя по примерам в интернете должно.

SQL запрос на создание таблицы !
Подскажите вот начал делать таблицу и нужно, что бы в таблице Заказчик ID firm был FK связанный с.

Создание SQL таблицы в PHP!
Написал в PHP такой код: <?php ini_set( 'display_errors', true ); .


SQL запрос на создание таблицы
Пытаюсь создать простенький запрос на создание таблицы "с периодами прикладного времени" в MS.

Создание таблицы через SQL
Доброго времени суток. Моя задача заключается в том чтобы таблица, которая получилась в результате.


Создание таблицы через SQL запрос
Написать SQL-процедуру создания таблицы заданной структуры в новой БД. Структура и требования.

Читайте также: