Получение списка свободных мест в поезде.
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();
}
Назад