Использование ADO.NET
Архитектура ADO.NET ( обзор , образец )
Множество примеров (например, приведенных ниже) доступны в Интернете по ключевым словам Googling в ADO.NET (многие из которых есть в этом ответе).
Общий процесс заключается в выборе поставщика данных, совместимого с MSAccess. В этом случае мы выбираем OleDb в пространстве имен using System.Data.OleDb;
Общий поток ADO.NET:
- Создание объекта подключения - расположение и параметры безопасности для входа в базу данных
- Создайте Командный объект для представления действия с базой данных (например, Вставка, Обновление, Удаление, Выбор). Здесь также используется SQL.
- Выполнить команду ( Выполнить ее ) через соединение, чтобы повлиять на базу данных (или запросить данные из нее)
- необходимо повторить команды в базе данных
- Закройте соединение.
Создайте подходящую строку подключения для Access, либо создайте ее с помощью инструментов графического интерфейса пользователя (например, Visual Studio), либо найдите ее на сайте, подобном ConnectionString.com (страница доступа)
Следующий пример очень общий, и вам нужно будет настроить его под свои нужды. Есть много вариантов того, как это сделать.
Для простоты этот ответ выбирает короткое средство.
using System;
using System.Data; // for DataTable, DataSet
using System.Data.OleDb; // for ADO.NET OLEDb provider
void SaveMyDataTable(DataTable datTable) {
string strConnection = "your connection string to Access";
// Make connection.
OleDbConnection conn = new OleDbConnection(strConnection);
conn.Open();
try {
OleDbCommand cmd = conn.CreateCommand();
// Create table in Access.
cmd.CommandText = "CREATE TABLE SomeTable("
+ "Field1 int,"
+ "ThisField varchar(255)"
+ "ThatField varchar(255)"
+ ")";
cmd.ExecuteNonQuery();
/* Insert data from datatable.
* (You'll have to pull data out of your DataTable row
* and use it here.)
*/
cmd.CommandText = "INSERT INTO SomeTable VALUES (1, 'a','b')";
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO SomeTable VALUES (3, 'd','e')";
cmd.ExecuteNonQuery();
//etc... (maybe make a loop over the rows in your DataTable)
conn.Close();
}
finally {
conn.Close();
}
}
Другой путь ADO.NET
Альтернатива в ADO.NET
Класс OleDbDataAdapter - часть архитектуры ADO.NET служит адаптером между DataSet , который содержит DataTables и совместимые источники данных Ole db (например, Access).
Это немного сложнее настроить, и вам нужно будет его исследовать.