Примеры приложений с DataSet ADO.net С#

ЧТО ТАКОЕ DATASET В ADO.NET?

Проще говоря, DataSet-это локальная копия таблицы базы данных,которая заполняется на клиентском компьютере. Он не зависит от источника данных и, поскольку он существует в локальной системе, он делает приложение быстрым и надежным. Доступ к удаленной базе данных каждый раз для обновления или получения сведений занимает много времени, поэтому наборы данных помогают сохранить локальные таблицы базы данных на вашем компьютере.

A DataSetведет себя как реальная база данных и представляет собой полный набор данных, который включает таблицы, ограничения и отношения между таблицами. Используя DataAdapters можно заполнить DataSet и использовать этот dataset для извлечения и хранения информации. Когда все задачи будут выполнены, обновите реальную базу данных с помощью наборов данных.

ЧТО ТАКОЕ DATAADAPTERS?

DataAdapters используются для управления наборами данных, и это обеспечивает связь между наборами данных и источником данных. Адаптеры данных устанавливают соединение с источником данных, а затем заполняют данные наборами данных. Он также обновляет источник данных с наборами данных.

ВАЖНЫЕ СВОЙСТВА И МЕТОДЫ АДАПТЕРОВ ДАННЫХ

СвойстваОписание
DeleteCommandОн используется для удаления записей из источника данных
InsertCommandОн используется для добавления новой записи в источник данных
SelectCommandОн используется для выбора записей из источника данных
UpdateCommandОн используется для обновления записей в источнике данных.
TableMappingОн используется для сопоставления фактических таблиц базы данных и наборов данных.
МетодОписание
FillЭтот метод заполняет записи из DataAdapters в наборы данных.
UpdateЭтот метод обновляет источник данных с помощью наборов данных.
using System;
    using System.Data.SqlClient;
    using System.Data;
     
    namespace DataSet_Example
    {
        class Program
        {
            static void Main(string[] args)
            {
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";            
                string querystring = "Select * from Items";
                SqlDataAdapter adapter = new SqlDataAdapter(querystring, ConString);
                DataSet ds = new DataSet();
                adapter.Fill(ds, "Items");
                Console.WriteLine(ds.GetXml());           
                Console.ReadKey();
            }
        }
    }

 

ПРИМЕР приложения с DataSet и Grid View на C#

Создайте WinForm проект, перенесите соответствующие компоненты как на рисунке.

Извлечение данных из DataSet в GridView

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Windows.Forms;
     
    namespace DataSet_Exampl
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void btnGetData_Click(object sender, EventArgs e)
            {
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
     
                SqlDataAdapter adapter = new SqlDataAdapter(Query,ConString);
                DataSet set = new DataSet();
     
                adapter.Fill(set, "Items");
                dataGridView1.DataSource = set.Tables["Items"];
            }
        }
    }

1

Вывод

GetData

ОБНОВЛЕНИЕ, ВСТАВКА И УДАЛЕНИЕ ЗАПИСЕЙ В Dataset

После заполнения набора данных можно обновить, вставить или удалить запись из набора данных. Вот полный пример программы.

    private void btnInsert_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
                
                //Adding New Row to DataSet           
                DataRow row = set.Tables["Items"].NewRow();
                row["Name"] = "4GB DDR3 RAM";
                row["Price"] = "$50";
                row["Date"] = "26 May 2017";
                set.Tables["Items"].Rows.Add(row);          
                
                dataGridView1.DataSource = set.Tables["Items"];
            }

Вывод

Insert

Вставить строку в набор данных

Редактирование или обновление строки В наборе данных

Если вы не знаете индекс строки или уникальный номер строки по-прежнему можно обновить или изменить строку в наборе данных с помощью следующего метода.

    private void btnUpdate_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
     
                set.Tables["Items"].Rows[1]["Name"] = "Graphics Card";
     
                dataGridView1.DataSource = set.Tables["Items"];
            }

Вывод

Update
Удалить строку в наборе данных

Вы можете удалить строку из Dataset с помощью Delete()метода.

    private void btnDelete_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
     
                set.Tables["Items"].Rows[1].Delete();
     
                dataGridView1.DataSource = set.Tables["Items"];
            }

Вывод

Delete

СОХРАНИТЬ ИЗМЕНЕНИЯ НАБОРА ДАННЫХ В БАЗЕ ДАННЫХ

После изменения набора данных можно сохранить изменения набора данных в базе данных.

пример программы

    private void btnSave_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
     
                //Adding New Row to DataSet and Update           
                DataRow row = set.Tables["Items"].NewRow();            
                row["Name"] = "4GB DDR3 RAM";
                row["Price"] = "$50";
                row["Date"] = "26 May 2017";
                set.Tables["Items"].Rows.Add(row);
     
                //Updating Database Table
                SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                adapter.Update(set.Tables["Items"]);
     
                MessageBox.Show("DataSet Saved to Database Successfully");
               
            }

Полный листинг примера программы для работы с базой данных на C# :

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Windows.Forms;
     
    namespace DataSet_Exampl
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void btnGetData_Click(object sender, EventArgs e)
            {
                //Fill DataSet
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
     
                SqlDataAdapter adapter = new SqlDataAdapter(Query,ConString);
                DataSet set = new DataSet();
     
                adapter.Fill(set, "Items");
                dataGridView1.DataSource = set.Tables["Items"];
            }
     
            private void btnUpdate_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
     
                set.Tables["Items"].Rows[1]["Name"] = "Graphics Card";
     
                dataGridView1.DataSource = set.Tables["Items"];
            }
     
            private void btnInsert_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
                
                //Adding New Row to DataSet           
                DataRow row = set.Tables["Items"].NewRow();
                row["ID"] = 3;
                row["Name"] = "4GB DDR3 RAM";
                row["Price"] = "$50";
                row["Date"] = "26 May 2017";
                set.Tables["Items"].Rows.Add(row);          
                
                dataGridView1.DataSource = set.Tables["Items"];
            }
     
            private void btnDelete_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
     
                set.Tables["Items"].Rows[1].Delete();
     
                dataGridView1.DataSource = set.Tables["Items"];
            }
     
            private void btnSave_Click(object sender, EventArgs e)
            {
                //Fill Dataset
                string ConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
                string Query = "SELECT * FROM Items";
                SqlDataAdapter adapter = new SqlDataAdapter(Query, ConString);
                DataSet set = new DataSet();
                adapter.Fill(set, "Items");
     
                //Adding New Row to DataSet and Update           
                DataRow row = set.Tables["Items"].NewRow();            
                row["Name"] = "4GB DDR3 RAM";
                row["Price"] = "$50";
                row["Date"] = "26 May 2017";
                set.Tables["Items"].Rows.Add(row);
     
                //Updating Database Table
                SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                adapter.Update(set.Tables["Items"]);
     
                MessageBox.Show("DataSet Saved to Database Successfully");
               
            }
        }
    }
Обновлено: 04.01.2020 — 10:34

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.