ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Шаг 4. Перемещение данных из SQL-сервера на объект DataSet1. Для хранения результатов SQL-запроса в локальной базе данных создадим объект класса DataSet: DataSet myDataSet = new DataSet();
2. Перемещение данных из SQL-сервера в объект класса DataSet. Для этого вызовем метод Fill() объекта SqlDataAdapter. mySqlDataAdapter. Fill (myDataSet, "PersonData");
Заметим, что здесь имя "PersonData" является именем локальной базы данных, которая содержит данных из таблицу Person. 3. Объект DataSet имеет свойство Tables типа коллекция. Через это свойство можно имеет доступ к таблицам базы данных. DataTable myDataTable = myDataSet.Tables["PersonData"];
Шаг 5. Вывести значений полей каждой записи Для вывода значений полей каждой записи следует использовать объект DataRow. В классе DataTable определено свойство Rows, которое возвращает коллекцию объектов DataRow. Свойство Rows можно использовать для перебора всех объектов DataRow в цикле foreach. Например: foreach (DataRow personRow in Persons.Rows) { listBox1.Items.Add(personRow["Name"]); listBox2.Items.Add(personRow["Oklad"]); listBox3.Items.Add(personRow["BirthDay"]); } Как видим, имя каждого поля передается объекту DataRow в квадратных скобках, а затем объект DataRow возвращает значение этого поля.
Код приложения Мы рассмотрели все этапы соединения с базой данных, которая находится в SQL-сервере. Здесь приведем код обработчика события Click для кнопки:
using System; using System.Data; using System.Data.SqlClient; ..................
private void button1_Click(object sender, EventArgs e) { //Создание связи с базой данных string ConnectionString = "Data Source=(local)\\SQLEXPRESS;" + "Initial Catalog=MyBase;" + "Integrated Security=True";
SqlConnection mySqlConnection = new SqlConnection(ConnectionString); mySqlConnection.Open();
//Создание SQL-команды string selectString = "SELECT Name, Post, Oklad FROM Person"; SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); mySqlCommand.CommandText = selectString;
//Закрепление SQL-адаптеру объекта команды SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(); mySqlDataAdapter.SelectCommand = mySqlCommand;
//Определение набора данных dataSet и заполнение его DataSet myDataSet = new DataSet();
mySqlDataAdapter.Fill(myDataSet, "Person"); DataTable Person = myDataSet.Tables["Person"];
// Вывод данных на экран foreach (DataRow personRow in Person.Rows) { listBox1.Items.Add(personRow["Name"]); listBox2.Items.Add(personRow["Oklad"]); listBox3.Items.Add(personRow["BirthDay"]); }
// Выход из приложения mySqlConnection.Close(); }
Запустите приложение на выполнение. Как видно, на полях ListBox появятся фамилии работников, их должность и оклад.
Ниже схематично покажем взаимосвязь между классами, которые предназначены для соединения и вывода данных таблицы.
Взаимосвязь классов, которые предназначены для вывода данных локальной базы данных на форме достаточно прост: 1. Объект класса DataSet имеет коллекцию Tables, откуда по названию таблицы можно получить доступ к таблице. 2. Объект класса DataTable имеет коллекцию Rows – записей таблицы. С помощью оператора foreach можно пробежаться по всем записям таблицы. 3. Для обращения к полю выбранной записи используем имя поля. Не нашли, что искали? Воспользуйтесь поиском:
|