Область видимости, 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д