Подключение access к c - Новости с мира ПК
Vvmebel.com

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

Подключение access к c

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 можно найти на нашем сайте.

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. Добавить следующий код:

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

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

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

Читать еще:  Access vba recordset примеры

Изменение пароля к базе данных 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= «.

Подключение access к c

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

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

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

Автор статьи: Александр Кобелев 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 функции даты

После чего в открывшемся мастере выбираем таблицу 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'» ;

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

Подключение access к c

Блог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:

Читать еще:  Subscript out of range access

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

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

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

Как подключиться к файлу MS Access (mdb) с помощью C#?

Я пытаюсь подключиться к mdb-файлу и понимаю, что мне понадобится поставщик данных Microsoft.OLEDB.JET.4.0 . К сожалению, у меня нет его установленного на машине (университета). Поскольку они не предоставляют этого поставщика, я считаю, что должен быть способ обойти это.

Как я могу подключиться к файлу без Microsoft.OLEDB.JET.4.0 или есть ли какая-либо альтернатива ?

У меня есть следующие поставщики:

Я пробовал использовать OLE DB Provider for Microsoft Directory Services , к которому при тестировании соединения я получаю «тест прошел успешно, но некоторые настройки не были приняты поставщиком». Я взял эту веревку и все равно использовал ее, и у меня получилось ADsDSOObject’ failed with no error message available, result code: DB_E_ERRORSINCOMMAND(0x80040E14) .

6 Ответов

Самый простой способ подключения-через OdbcConnection, используя такой код

где myConnectionString-это что-то вроде этого

В альтернативном варианте вы можете создать DSN, а затем использовать этот DSN в строке подключения

  • Откройте Панель управления-Администрирование — ODBC источник данных Менеджер
  • Перейдите на страницу System DSN и ADD новый DSN
  • Выберите драйвер Microsoft Access (*.mdb) и нажмите END
  • Установите имя DSN (выберите MyDSN для этого примера)
  • Выберите базу данных для использования
  • Попробуйте выполнить команды Compact или Recover, чтобы проверить, работает ли соединение

теперь ваш connectionString может быть записан таким образом

Вот как использовать Jet OLEDB или Ace OLEDB Access DB:

Вы должны использовать «Microsoft OLE DB Provider for ODBC Drivers», чтобы получить доступ к Microsoft Access. Вот пример учебника по его использованию

Какое расширение файла Access вы используете? Реактивный самолет OLEDB или туз OLEDB. Если ваш доступ DB равен .mdb (он же Jet Oledb)

Еще один простейший способ подключения-через файл OdbcConnection using App.config , подобный этому

MyDB.mdb — это мой файл базы данных, и он присутствует в текущей основной папке приложения с главным файлом exe.

если ваш mdf файл имеет пароль, то используйте вот так

Похожие вопросы:

Я нахожусь на Win7 x64, используя Python 2.7.1 x64. Я переношу приложение, которое я создал в VC++ на Python для образовательных целей. Исходное приложение без проблем подключается к файлу формата.

Я пытаюсь подключиться к MS-Access с помощью JDBC:ODBC: public boolean connectToAccess(String accessFilePath) < //Get connection to database try < Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);.

Я уже пару дней копаюсь в интернете, читаю очень старую информацию, которая приводит к очень старым и несуществующим сайтам, но все же я понял, что нужно для достижения моей цели. У нас есть.

Я использовал для подключения к Microsoft Access, используя форму Windows, как показано ниже: public partial class Form2 : Form < public Form2() < InitializeComponent(); >OleDbConnection con = new.

У меня проблема. Я должен написать приложение ABAP, которое подключается к MS Access (.mdb-файл) с OLEDB, но мой код не может подключиться. У меня есть SY-SUBRC = 2. Как я могу это исправить? Как я.

Я искал в интернете уже несколько недель, но я не могу найти никакого ответа или что-либо, связанное с моей проблемой Дело в том, что у меня есть приложение, которое я сделал с помощью c# для.

У меня есть приложение java для чтения файлов MDB. Теперь мне нужно изменить приложение, чтобы прочитать MDB файлов a zip файл. Поэтому я пытался подключиться через приведенный ниже код, но.

У меня есть файл .accdb на моей локальной машине, и я пытаюсь подключиться к нему и прочитать некоторые данные из 3 таблиц в DB. Как установить соединение с помощью Perl? До сих пор я наскребал.

Я создал файл .mdb с помощью MS Access. Я создал User DSN в windows. теперь я хочу подключиться к этому источнику данных с помощью кода java ? как я могу это сделать ?

Я пытаюсь подключиться к mdb-файлу из C# 2013 с помощью OdbcConnection. Раньше у меня был Office 2000 на моих машинах Windows 7 и Windows 8, но я обновился до Office 2013 на обоих, и теперь он.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector