Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Добавление записей в таблицу базы данных MS Access

Поиск

Совсем маленькую программу из предыдущего раздела можно использовать для выполнения любого запроса, обращенного к базе данных. Например, модифицируем всего лишь одну строчку программного кода программы из предыдущего примера для добавления новой записи в таблицу БД. Для этого при создании экземпляра объ­екта Command зададим SQL-запрос на вставку (INSERT) новой записи в таблицу БД.

Заметим, что в SQL-запросе мы сознательно обратились к таблице по имени [бд телефонов], то есть со строчной буквы, хотя следовало бы с прописной. Дело в том, что в именах таблиц следует точно указывать регистр символа, поскольку их поиск ведется с учетом регистра (case-sensitive search). Однако это не обязательно при наличии только одной таблицы с таким именем, поскольку при этом используется поиск без учета регистра (case-insensitive search).

Свойству Connection объекта класса Command следует дать ссылку на объект класса Connection:

Команда-Connection = Подключение;

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

Листинг 5. Добавление записей в таблицу базы данных MS Access

// БдДобавлЗаписи.cpp: главный файл проекта.

// Программа добавляет запись в таблицу базы данных MS Access. Для этого

// при создании экземпляра объекта Command задаем SQL-запрос

// на вставку (Insert) новой записи в таблицу базы данных

#include "stdafx.h"

using namespace System;

// Для вызова MessageBox выберем следующие пункты меню:

// Project⴬Add Reference и на вкладке.NET дважды щелкнем по ссылке

// System.Windows.Forms.dll, а в тексте программы добавим директиву:

using namespace System::Windows::Forms;

// Добавляем эту директиву для более краткого обращения к классам

// обработки данных:

using namespace System::Data::OleDb;

// ДОБАВЛЕНИЕ ЗАПИСИ В ТАБЛИЦУ БД:

int main(array<System::String ^> ^args)

{

// Создание экземпляра объекта Connection

// с указанием строки подключения:

auto Подключение = gcnew OleDbConnection(

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\new_BD.mdb");

// Открытие подключения:

Подключение->Open();

// Создание экземпляра объекта Command с заданием SQL-запроса:

auto Команда = gcnew OleDbCommand(

"INSERT INTO [бд телефонов] (" +

"Фио, [номер телефона]) VALUES (‘Света-X’, ‘521-61-41’)");

// Для добавления записи в таблицу БД эта команда обязательна:

Команда->Connection = Подключение;

// Выполнение команды SQL:

Команда->ExecuteNonQuery();

MessageBox::Show("В таблицу 'БД телефонов' добавлена запись");

Подключение->Close();

return 0;

}

 

Зачастую, отлаживая программный код на Visual Studio C++, при работе с БД появляется необходимость проверки работы программы, например требуется уз­нать, создалась ли таблица в БД, добавилась ли запись в таблице БД, правильно ли сформирован SQL-запрос. Не обязательно запускать MS Access, чтобы вы­полнить SQL-запрос или проверить правильность его синтаксиса. Это можно сде­лать в среде Visual Studio. Для этого в пункте меню View выбираем команду Other Windows ► Server Explorer (комбинация клавиш Ctrl+Alt+S), далее в списке подклю­чений указываем полный путь к нужной БД. Затем, щелкая правой кнопкой мыши на значке нужной таблицы, в контекстном меню выбираем пункт Retrieve Data. При этом в панели инструментов (Toolbar) появляется значок SQL, после щелчка по это­му значку (или нажатия комбинации клавиш Ctrl+3) получим окно SQL-запроса. В этом окне мы можем задавать SQL-запрос, а затем, например, щелкая правой кнопкой мыши, либо проверять его синтаксис, либо выполнять.

Убедиться в работоспособности программы можно, открыв решение БдДобавл-Записи.sln в папке БдДобавлЗаписи.

 

 




Поделиться:


Последнее изменение этой страницы: 2016-12-11; просмотров: 463; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.133.214 (0.007 с.)