Пример программы 4.1
Следующая программа подключается к базе данных и посылает ей SQL-запрос. Затем выполняется несколько циклов получения результата запроса, после чего полученные результаты передаются в элемент управления ListBox и отображаются в списке.
using System.Windows.Forms;
using System.Data;
// Пространство имен для работы с базами данных SQL Server
using System.Data.SqlClient;
using System.Drawing;
// Пространство имен для работы с базами данных Access
using System.Data.OleDb;
class SimpleDataAccess : Form
{
public SimpleDataAccess()
{
// Указываем заголовок окна
this.Text = "Работа с базой данных. Чтение данных.";
// Добавляем элементы управления - метку и список
Label labelCaption = new Label();
labelCaption.Text = "Планеты солнечной системы!";
labelCaption.Location = new Point(30, 10);
labelCaption.Width = 200;
labelCaption.Parent = this;
ListBox listPlanets = new ListBox();
listPlanets.Location = new Point(30, 50);
listPlanets.Width = 100;
listPlanets.Parent = this;
// Формируем запрос к базе данных -
//запрашиваем информацию о планетах
string sql = "SELECT * FROM PLANET";
string connectionString;
/*
//Вариант 1
// Подключаемся к базе данных SQL Server Express Edition
// Указываем физический путь к базе данных PLANETS
string dbLocation =
("../../../databases/planets.mdf");
connectionString = @"data source=.\SQLEXPRESS;" +
"User Instance=true;Integrated Security=SSPI;" +
"AttachDBFilename=" + dbLocation;
SqlConnection connection1 = new SqlConnection(connectionString);
*/
//Вариант 2
// Подключаемся к базе данных SQL Server 2005
connectionString =
"data source = localhost; Initial Catalog = Planets;" +
"Integrated Security = SSPI";
SqlConnection connection1 = new SqlConnection(connectionString);
//Открываем соединение
connection1.Open();
SqlCommand command1 = new SqlCommand(sql, connection1);
SqlDataReader dataReader1 = command1.ExecuteReader();
// Организуем циклический перебор полученных записей
//и выводим название каждой планеты в список
while (dataReader1.Read())
{
listPlanets.Items.Add(dataReader1["PlanetName"]);
}
// Очистка
dataReader1.Close();
connection1.Close();
/*
//Вариант 3. Связывание с базой данных Access 2003 - *.mdb
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source= ../../../databases/planets.mdb";
//Вариант 4. Связывание с базой данных Access 2007 - *.accdb
connectionString = "Provider=Microsoft.Ace.OLEDB.12.0;" +
@"Data Source= ../../../databases/planets.accdb";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbCommand command = new OleDbCommand(sql, connection);
OleDbDataReader dataReader = command.ExecuteReader();
// Организуем циклический перебор полученных записей
//и выводим название каждой планеты в список
while (dataReader.Read())
{
listPlanets.Items.Add(dataReader["PlanetName"]);
}
// Очистка
dataReader.Close();
connection.Close();
* */
}
static void Main()
{
// Создаем и запускаем форму
Application.Run(new SimpleDataAccess());
}
}