I will give an example of a program I once wrote for the examination of exam tickets from the database:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Data.OleDb;//дата провайдер для работы с необходимой нам базой namespace MdbToTxt { class Program { static void Main(string[] args) { string[] questions = new string[100]; using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=I:\экз\db1.mdb"))//это строка соединения с БД { OleDbCommand command = new OleDbCommand("SELECT * FROM Билеты ORDER BY [Номер билета]", conn);//Создаём SQL-запрос conn.Open();//открываем соединение, должно закрыться само, но хз OleDbDataReader reader = command.ExecuteReader();//Выполняем запрос, в данном случе на чтение questions[0] = reader.GetName(0) + "\t" + reader.GetName(1) + "\t" + reader.GetName(2);//здесь будут хранится именя полей таблицы int i = 1; while(reader.Read())//а здесь собственно записи полей { questions[i] = reader[0] + "\t\t" + reader[1] + "\t\t" + reader[2];// записи я записывал в строковый массив, хотя с ними можно выполнять всё, что душе угодно i++; } } File.WriteAllLines("Questions.txt", questions); } } }
want to know more => Working with Connected ADO .NET Level in C #