Green-sell.info

Новые технологии
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

C работа с базой данных access

C работа с базой данных access

БлогNot. Visual С++ в Studio Expess: подключаемся к файлу Access

Visual С++ в Studio Expess: подключаемся к файлу Access

Visual Studio, как и другие современные среды программирования, поддерживает работу с базой данных (БД) по технологии ADO (то есть, с формированием Connection String), поддерживаются как MS SQL, так и Access. Информация из БД кэшируется в DataSet, который обеспечивает приложение данными.

Работа с системными источниками данных поддерживается только в «полных» версиях Visual Studio, но не Express. В этой статье мы рассмотрим лишь работу с СУБД Access, предполагая, что на компьютере установлен Microsoft Office версий XP/2003 или выше. По поводу подключения к «обычным» SQL’евским базам могу, например, посоветовать главу 12 из книги Б. Пахомова «С, С++ и MS Visual C++ 2010 для начинающих».

Сначала нужно подготовить и сохранить в папке проекта (если создано решение с одним проектом и оно называется bd1 , то папка будет bd1/bd1 ) тестовый файл Access:

  • имя файла = db1.mdb (на всякий случай, сохранил совместимым с версиями XP/2003);
  • имя таблицы = Table1 ;
  • в таблице три поля с типам Счетчик (имя Id ), Текст (имя Name ), Числовой (имя Number ).

Добавить в Studio отключённые по умолчанию компоненты: правая кнопка на Панели элементов, команда Выбрать элементы. , вкладка Компоненты .NET Framework, добавить OleDbConnection , OleDbDataAdapter (появятся в группе «Данные» панели элементов). Если у вас версия Express, которая часто грешит «глюками» с отображением списка компонентов, попробуйте сбросить панель элементов в исходное состояние (тоже правой кнопкой мыши) и повторить операцию.

Перенести компонент OleDbDataAdapter на форму, появится мастер подключения, показать на заранее подготовленный файл Access, при запросе строки SQL ввели

Проверить, что на форме создалось OleDbConnection .

В норме OleDbDataAdapter должен создать команды для действий SELECT, INSERT, UPDATE и DELETE. Но, возможно, в зависимости от версии офиса, придётся дополнительно настраивать свойства oleDbDataAdapter1 — SelectCommand — CommandText и oleDbDataAdapter1 — UpdateCommand — CommandText.

Это можно сделать как в диспетчере свойств, например, написав в свойстве oleDbDataAdapter1 — SelectCommand — CommandText:

так и программно (настраиваем UpdateCommand):

Возможно (как альтернатива) настроить все команды «автоматически», для этого щелкните по стрелочке в правом верхнем углу значка oleDbDataAdapter1 и выберите «Настроить адаптер данных». Помешать автонастройке может отсутствие запущенного сервера SQL.

Все остальные компоненты тоже «лежат» в списке «Данные»:

  • Добавить DataGridView, DataSet — для обеспечения подключения.
  • Добавить BingingNavigator — для навигации по БД.
  • Добавить BingingSource — для связи источника данных с навигатором.

В свойствах DataSet выбрать свойство Tables, добавить одну таблицу Table1, в окне Редактор коллекции столбцов (вызывать из свойства Columns) добавить 3 столбца с именами как в файле Access (Id, Name, Number). Для каждого столбца указать свойства:

  • ColumnName — имя столбца из Access,
  • DataType — тип данных из Access (счетчик как Int32)

В свойствах bingingSource1 указать DataSource = dataSet1, DataMember = Table1

Для bindingNavigator указать bindingSource = bindingSource1

Для dataGridView указать DataSource = bindingSource1 (неправильно DataSource=dataSet1, DataMember=Table1, как я видел в инете)

Для oleDbDataAdapter1 проверить свойство SelectCommand — Connection = oleDbConnection1

По некоторому событию (например, по загрузке формы Load ) получим данные из таблицы БД:

Перед закрытием формы (событие FormClosing ) сохраним изменения в таблице Access:

Можно всё делать и программно, а не тыкать свойства. Вот пример кода с программным коннектом к базе данных Access.

Скачать проект-пример Visual C++ в архиве .zip (26 Кб)

28.03.2015, 13:54; рейтинг: 13609

C#: работа с запароленной базой данных Access: создание, подключение, изменение пароля, сжатие

У всех, кто привык работать с базой данных через провайдер Microsoft.Jet.OLEDB, не возможность подключиться к запароленной базе данных сначала вызывает недоумение, а потом уже и гнев. Ещё бы! Во всех руководствах черным по белому написано использовать
«Provider=Microsoft.Jet.OLEDB.4.0;Da ta Source= ;Password= «
но C# упорно отказывается подключаться.
Решение — другой провайдер, а именно «Microsoft.ACE.OLEDB». Попробуйте использовать строку подключения
Provider=Microsoft.ACE.OLEDB.12.0;Data Source= ;Jet OLEDB:Database Password= «
и возрадуйтесь чуду! 🙂 А почему нет коннекта на Microsoft.Jet.OLEDB — остается только гадать.

Создание новой базы данных Access с паролем
Для этого нам нам понадобится следующее:

  1. Добавить в проект ссылку на Microsoft DAO Object Library (Это COM объект).
  2. Добавить в начале кода using dao;
  3. Добавить следующий код:
Читать еще:  Routing and remote access service

DBEngine Провайдер = new DBEngine();
Провайдер.Workspaces[0].CreateDatabase( азаДанных>, «;pwd= «);

Установка пароля к существующей базе данных Access
Для установки пароля на не запароленную базу данных нам понадобится изменить код из предыдущего абзаца на этот:

DBEngine Провайдер = new DBEngine();
Database БД = Провайдер.Workspaces[0].OpenDatabase( йлБазыДанных>, true, false);
БД.NewPassword(«», );

Изменение пароля к базе данных Access
Для изменения существующего пароля нужно немного модифицировать код:

DBEngine Провайдер = new DBEngine();
Database БД = Провайдер.Workspaces[0].OpenDatabase( йлБазыДанных>, true, false, «;pwd= «);
БД.NewPassword( , );

Удаление пароля к базе данных Access
Для удаления пароля используется тот же метод, что и для изменения пароля, только вместо нового пароля указываем пустую строку «»:

Сжатие базы данных Access
К сожалению, провайдер Microsoft.ACE.OLEDB.12.0 не годится для сжатия базы данных Access. Поэтому мы воспользуемя другим, более привычным нам Microsoft.Jet.OLEDB.4.0. Для сжатия нам понадобится следующее:

  1. Добавить в проект ссылку на Microsoft Jet and Replication Objects Library (Это COM объект).
  2. Добавить в начале кода using JRO;
  3. Добавить следующий код:

string Подключение = «Data Source= ;Provider=Microsoft.J et.OLEDB.4.0;Jet OLEDB:Database Password= «;
string Подключение2 = «Data Source= ;Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password= «;
Провайдер.CompactDatabase(Подключение, Подключение2);
File.Delete(Файл);
File.Move(Файл2, Файл);

Поскольку, напрямую открытую базу данных сжать нельзя, то сжатая база записывается в другой файл, а затем старая заменяется новой. Если пароль для старой базы данных отсутствовал или его не нужно задавать в новой, то достаточно просто в соответствующей переменной удалить «Jet OLEDB:Database Password= «.

Работа с СУБД MS Access

Цель лекции: Ознакомиться Microsoft Access. Microsoft Access является реляционной базой данных. Дать основные понятия по объектам базы данных . Рассмотреть основные принципы работы Microsoft Access.

Объекты Microsoft Access

Microsoft Access называет объектами все, что может иметь имя (в смысле Access). В базе данных Access основными объектами являются таблицы, запросы, формы, отчеты, макросы и модули. В других СУБД , как правило, термин база данных обычно относится только к файлам, в которых хранятся данные. В Microsoft Access база данных включает в себя все объекты, связанные с хранимыми данными, в том числе и те, которые определяются для автоматизации работы с ними. Ниже приведен список основных объектов базы данных Access.

1. Таблица. Объект , который определяется и используется для хранения данных. Каждая таблица включает информацию об объекте определенного типа, например о клиентах. Таблица содержит поля (столбцы), в которых хранятся различного рода данные, например фамилия или адрес клиента, и записи (которые называются также строками). В записи собрана вся информация о некотором объекте (человеке, образце продукции и т.п.). Для каждой таблицы можно определить первичный ключ (одно или несколько полей, содержащих уникальные для каждой записи значения) и один или несколько индексов, помогающих ускорить доступ к данным.

2. Запрос. Объект , который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Для создания запроса можно использовать бланк QBE ( запрос по образцу) или инструкции SQL ( структурированный язык запросов). Можно создать запросы на выборку, обновление, удаление или добавление данных. С помощью запросов можно также создавать новые таблицы, используя данные из одной или нескольких существующих таблиц.

3. Форма. Объект , предназначенный в основном для ввода данных, отображения их на экране или управления работой приложения. Формы используются для того, чтобы реализовать требования пользователя к представлению данных из запросов или таблиц. Формы можно также распечатать. С помощью формы можно в ответ на некоторое событие, например изменение значения определенных данных, запустить макрос или процедуру VBA .

4. Отчет. Объект , предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.

5. Макрос. Объект , представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие. Например, можно определить макрос , который в ответ на выбор некоторого элемента в основной форме открывает другую форму. С помощью другого макроса можно осуществлять проверку значения некоторого поля при изменении его содержимого. В макрос можно включить дополнительные условия для выполнения или невыполнения тех или иных указанных в нем действий. Из одного макроса можно также запустить другой макрос или процедуру VBA .

Читать еще:  Network access protection

6. Модуль. Объект , содержащий программы, написанные на языке Visual Basic для приложений. Модули могут быть независимыми объектами, содержащими функции, вызываемые из любого места приложения, но они могут быть и непосредственно «привязаны» к отдельным формам или отчетам для реакции на те или иные происходящие в них изменения.

7. Страницы доступа. Страницы — служат для обеспечения доступа к данным, содержащимся в базе, удалённой от потребителя (например, через Интернет ).

Концептуальные взаимосвязи объектов Access показаны на рис. 6.1.

C работа с базой данных access

Спрашивающий

Общие обсуждения

Данная статья восстановлена из кэша гугла.

Автор статьи: Александр Кобелев aka Megano.

Подключение к Access

В своей работе я буду использовать Visual Studio 2008 Pro & C#

Довольно часто на форуме всплывает данный вопрос, по сему решил обобщить разрозненную информацию в данном сообщении.

Я покажу в трех частях как можно подключиться и взаимодействовать с файлом базы данных Access .

Часть 1 — Где с помощью визуальных средств добавляем к нашему проекту копию файла данных.

Часть 2 — Где с помощью визуальных средств подключаем существующий файл без создания копии в проекте.

Часть 3 — Чисто код.

Первоначально понадобится таблица с данными в файле Access .

Имя файла db1.mdb, таблица People c данными:

Типы данных: Код_People — Счетчик, Имя — Текст, ДатаРождения — Дата/Время

Часть 1

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

Создаем новый Windows Forms проект.

File → New → Project → Windows → Windows Forms Application и называем его VisualAccessConnect

правой кнопкой мыши по проекту → Add → Existing Item. → В типах файлов выбираем Data Fiels → после чего находим наш db1.mdb и жмем ОК .

Автоматически открывается Data Source Configuration Wizard → Отмечаем, что мы хотим выбрать все таблицы.

После чего у нас появляется в проекте строго типизированный DataSet содержащий в себе DataTable People и PeopleTableAdapter

Теперь добавляем на Form1 DataGridView

И в его свойстве DataSource выбираем нашу таблицу People

Все готово к отображению данных и при нажатии ctrl + F5 вы увидите такую картину:

Если у вас вывалилось исключение — the ‘microsoft.jet.oledb.4.0’ provider is not registered on the local machine

Вам необходимо зайти в настройки проекта и выставить Platform Target x86

Теперь добавим кнопку, которая нам поможет внести изменения в базу.

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

this .peopleTableAdapter.Update( this .db1DataSet.People);

Теперь мо жно запускать наш проект, вносить изменения в данные и сохранять их.

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

То же самое происходит когда мы нажимаем ctrl + F5 в папку debug копируется копия уже скопированного в наш проект файла данных и если вы сделаете Rebuild проекта, то все изменения откатятся к первоначальному состоянию(так как файл в папку debug будет скопирован вновь из нашего проекта), но в релизной версии все будет работать превосходно.

Часть 2

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

Создаем новый Windows Forms проект.

File → New → Project → Windows → Windows Forms Application и называем его VisualAccessConnectViaFilePath

Нажимаем View → Server Explorer или ctrl + W + L

Вызываем контекстное меню у Data Connections → Add Connection

В открывшемся окне нажимаем кнопку Change напротив DataSource

И выбираем Microsoft Access Database File

После чего выбираем путь к нашему файлу и проверяем соединение

Теперь добавляем на форму DataGridView, в его свойстве DataSource выбираем Add Project Data Source

Data Base → И в выпадающем меню выбираем строку подключения к нашему файлу, которую мы создали ранее, после чего появится предупреждение что файл базы находится вне приложения с предложением сделать копию, выбираем NO

Читать еще:  Access count distinct

После чего в открывшемся мастере выбираем таблицу People ( см часть1) и ОК

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

Теперь наше приложение отображает данные с текущего файла данных и изменяет его при сохранении.

Будьте внимательны при развертывании приложения, так как ответственность за путь к файлу данных лежит на ваших плечах.

Часть 3

Создадим консольное приложение.

File → New → Project → Windows → Console Application и назовем его AccessConnectPureCode

И полностью заменяем весь автоматически сгенерированный код на

public static void Main()

string connectionString = @»provider=Microsoft.Jet.OLEDB.4.0; data source=C:Datadb1.mdb» ;

OleDbConnection myOleDbConnection = new OleDbConnection (connectionString);

OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();

myOleDbCommand.CommandText = «SELECT * FROM People» ;

OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();

Console .WriteLine( string .Format( «Id: <0>, Name: <1>, Birthday: <2>» ,

OleDbCommand changeDashaName = myOleDbConnection.CreateCommand();

changeDashaName.CommandText = @»UPDATE People SET Имя = ‘Даша’ WHERE Имя = ‘Dasha'» ;

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

WPF Подключение к базе данных MS Access

Всем доброго дня, сегодня в этой статье, я бы хотел рассказать вам о WPF и MS Access, а также их взаимодействии друг с другом. Мало кто знает, но MS Access довольно хорошо дружит с WPF, но для начала думаю стоит рассказать, что из себя представляет то и другое.

Windows Presentation Foundation — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения.

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных корпорации Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных.

Microsoft Access 2016

Создание базы данных и внутренних таблиц

Создаём БД и переходим к созданию и настройке таблиц, а именно переходим в режим конструктора, предварительно указав наименование базы данных.

Создание таблицы в MS Access

В моей базе данных будет использоваться три столбца: Код — он же уникальный идентификатор, логин пользователя и пароль пользователя.

Результат создания таблицы в MS Access

Внесём одну из записей с которой будем осуществлять работу.

Добавление записи в MS Access

На этом создание базы данных законченно.

Разработка приложения и подключение к БД

Переходим к приложению WPF и у главной формы (MainWindow.xaml.cs) прописываем функцию подключения к базе данных:

Создание функции для работы с MS Access

Важно отметить что весь текст у будет отмечен красным а при подключении будут возникать ошибки. Вся проблема в том, что нужно добавить несколько библиотек, которые позволяют работать с базой данных, для этого, нужно нажать ПКМ по подчёркнутому красной линией элементу и выбрать пункт «Быстрые действия и рефакторинг. », после из предложенных действий выбрать первый вариант который добавляет библиотеку: using System.Data.OleDb;

Подключение библиотек для работы с MS Access

Переменная connection содержит в себе текстовую информацию, а именно: тип подключения, и путь подключения. На этом подключение к MS Access завершено, всё что нужно сделать: вызвать функцию в нужном вам месте и обработать запрос.

Выполнение запросов и обработка информации

Для того что бы работать с базой данных MS Access из приложения WPF необходимо знать четыре основных запроса на языке SQL:

  • SELECT (вывод данных из таблицы);
  • INSERT (вставить данные в таблицу);
  • UPDATE (обновить данные в таблице);
  • DESTROY (удалить данные из таблицы).

Важно помнить, что только SELECT возвращает данные, получить данные из других запросов не возможно.

Для того чтобы сделать запрос SELECT и обработать пришедшие данные, после инициализации компонентов вставляем следующий код:

Результат запроса SELECT

Чтобы вставить новую запись, нужно использовать следующий код:

Результат запроса INSERT

Теперь нужно обновить пароль, изменив «test2» на «qwerty123». Для этого используется всё тот же метод, передающий SQL запрос.

Результат запроса UPDATE

Чтобы осуществить удаление записи из таблицы, используется следующий код:

Результат запроса DELETE

Таким образом можно выполнять запросы к базе данных MS SQL Server.

Так же вы можете использовать MS Access в качестве локальной базы данных, а MS SQL основной. Статьи по подключению и выполнению запросов в MS SQL можно найти на нашем сайте.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector