Область видимости, DataSet и DataGridView - C#
Формулировка задачи:
Добрый день.
Я недавно начал изучать C#, по-этому имеются некоторые вопросы.
Имеется некоторый тестовый код, написанный мной в целях самообучения
Мне не понятно каким образом локальный DataSet dataSetServices после завершения метода LoadServicesData остаётся в памяти? Область видимости, если я правильно понимаю, заканчивается в блоке try. Тогда почему в dataGridView отображаются данные? dataGridView что-ли кеширует их где-то у себя?
Буду очень признателен за компетентный ответ. Заранее, спасибо.
private void LoadServicesData()
{
string selectQuery = "SELECT * FROM F_SERV";
//using (OleDbConnection connection = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=D:\Test\"))
//{
// using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectQuery, connection))
// {
// connection.Open();
// dataAdapter.Fill(dataSetServices, "SERVICES");
// connection.Close();
// }
//}
OleDbConnection connection = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=D:\Test\");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectQuery, connection);
//dataSetServices DataSet = new DataSet();
try
{
DataSet dataSetServices = new DataSet();
connection.Open();
dataAdapter.Fill(dataSetServices, "SERVICES");
bindingSourceServices.DataSource = dataSetServices;
bindingSourceServices.DataMember = "SERVICES";
dataGridViewServices.AutoResizeRows();
}
catch (Exception exception)
{
MessageBox.Show(exception.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
connection.Close();
}
}
Гуру .net, откликнитесь, пожалуйста. Вопрос очень важен для меня
Может быть вопрос задан некорректно? Или не в соответствующей ветке форума? Подскажите, модераторы, я переформулирую.
Решение задачи: «Область видимости, DataSet и DataGridView»
textual
Листинг программы
var dataset = grid.DataSource as DataSet;