Получение списка свободных мест в поезде.
private void buGetFreeSeats_Click(object sender, System.EventArgs e)
{
 // соединение с БД Pubs
 SqlConnection conn = new SqlConnection();
 conn.ConnectionString="server=(local);integrated security=SSPI;database=Pubs";
 conn.Open();
 // SqlDataAdapter - посредник для чтения данных между сервером и набором данных
 SqlDataAdapter da = new SqlDataAdapter("select Вагон=Carriage,Место=Seat from TrainSeats(readpast) "+
 "where SaleDate is null and TrainDate=@TrainDate and TrainNumber=@TrainNumber",conn);
 // заполнение параметров значениями полей экранной формы
 da.SelectCommand.Parameters.Add("@TrainDate",SqlDbType.DateTime,0).Value=txtTrainDate.Text;
 da.SelectCommand.Parameters.Add("@TrainNumber",SqlDbType.VarChar,10).Value=txtTrainNumber.Text;
 // набор данных для работы на клиентской стороне
 DataSet ds = new DataSet();
 // заполнение набора данными из таблицы
 da.Fill(ds,"FreeTrainSeats");
 // показ данных в визуальном элементе DataGrid
 grFreeSeats.DataSource = new DataView(ds.Tables["FreeTrainSeats"]);
 // доступность кнопки "Оформить билет"
 buMake.Enabled=ds.Tables["FreeTrainSeats"].Rows.Count!=0;
 // связь с сервером больше не нужна, соединение можно закрыть
 conn.Close();
}

Назад