Maison  >  Article  >  développement back-end  >  Ensemble de données en C#

Ensemble de données en C#

王林
王林original
2024-09-03 15:05:17251parcourir

DataSet est une architecture déconnectée, elle représente les données dans une structure de table, ce qui signifie les données en lignes et colonnes. L'ensemble de données est la copie locale de votre base de données qui existe dans le système local et permet à l'application de s'exécuter plus rapidement et de manière fiable. DataSet fonctionne comme une véritable base de données avec un ensemble complet de données qui inclut les contraintes, les relations entre les tables, etc. Il se trouvera dans l’espace de noms « System. Données”.

Syntaxe :

La syntaxe de DataSet comme indiqué ci-dessous,

public class DataSet : System.ComponentModel.MarshalByValueComponent, IListSource, ISupportInitializeNotification, ISerializable, IXmlSerializable
{
}

Comment fonctionne DataSet ?

DataSet est une collection de tables de données qui contiennent les données relationnelles dans une structure de table. Cela signifie le sous-ensemble de bases de données dans la gestion de la mémoire. Le DataSet est une architecture déconnectée qui ne nécessite pas de connexion active ou ouverte à la base de données. De cette façon, nous pouvons obtenir les données sans interagir avec aucune source de données en raison d'un environnement déconnecté. Il appartient à l'espace de noms System.Data. Comprenons la procédure de travail de DataSet en C# avec un exemple : nous créons deux tables de données, les tables Employé et Salaire, puis créons des colonnes de données pour ajouter les colonnes dans les tables et enfin créons des lignes de données pour ajouter des enregistrements dans les deux tables. Voyons le codage suivant ci-dessous,

Création des détails des employés DataTable

DataTable EmployeeDetails = new DataTable("EmployeeDetails");
//to create the column and schema
DataColumn EmployeeID = new DataColumn("EmpID", typeof(Int32));
EmployeeDetails.Columns.Add(EmployeeID);
DataColumn EmployeeName = new DataColumn("EmpName", typeof(string));
EmployeeDetails.Columns.Add(EmployeeName);
DataColumn EmployeeMobile = new DataColumn("EmpMobile", typeof(string));
EmployeeDetails.Columns.Add(EmployeeMobile);
//to add the Data rows into the EmployeeDetails table
EmployeeDetails.Rows.Add(1001, "Andrew", "9000322579");
EmployeeDetails.Rows.Add(1002, "Briddan", "9081223457");

Pour la table des salaires, nous créons le DataTable avec le nom SalaryDetails avec les attributs SalaryID, EmployeeID, EmployeeName et Salary, ajoutons les colonnes aux tables des salaires, puis créons deux lignes de données et ajoutons ces lignes de données dans les tables des salaires.
Créez ensuite le DataTable SalaryDetails,

DataTable SalaryDetails = new DataTable("SalaryDetails");
//to create the column and schema
DataColumn SalaryId = new DataColumn("SalaryID", typeof(Int32));
SalaryDetails.Columns.Add(SalaryId);
DataColumn empId = new DataColumn("EmployeeID", typeof(Int32));
SalaryDetails.Columns.Add(empId);
DataColumn empName = new DataColumn("EmployeeName", typeof(string));
SalaryDetails.Columns.Add(empName);
DataColumn SalaryPaid = new DataColumn("Salary", typeof(Int32));
SalaryDetails.Columns.Add(SalaryPaid);
//to add the Data rows into the SalaryDetails table
SalaryDetails.Rows.Add(10001, 1001, "Andrew",42000);
SalaryDetails.Rows.Add(10002, 1002, "Briddan",30000);

Pour créer le DataSet avec DataTable,

Comme nous avons discuté du DataSet avec la collection de DataTables, créez un objet pour DataSet, puis ajoutez deux tables de données (Employé et Salaire) dans le DataSet.

//to create the object for DataSet
DataSet dataSet = new DataSet();
//Adding DataTables into DataSet
dataSet.Tables.Add(EmployeeDetails);
dataSet.Tables.Add(SalaryDetails);
By using index position, we can fetch the DataTable from DataSet, here first we added the Employee table so the index position of this table is 0, let's see the following code below
//retrieving the DataTable from dataset using the Index position
foreach (DataRow row in dataSet.Tables[0].Rows)
{
Console.WriteLine(row["EmpID"] + ", " + row["EmpName"] + ", " + row["EmpMobile"]);
}
Then second table we added was SalaryDetails table which the index position was 1, now we fetching this second table by using the name, so we fetching the DataTable from DataSet using the name of the table name "SalaryDetails",
//retrieving DataTable from the DataSet using name of the table
foreach (DataRow row in dataSet.Tables["SalaryDetails"].Rows)
{
Console.WriteLine(row["SalaryID"] + ", " + row["EmployeeID"] + ", " + row["EmployeeName"] + ", " + row["Salary"]);
}

DataSet en C# fournit quatre constructeurs, sont les suivants :

  • DataSet() il dérive de la classe System.Data.DataSet et initialise la nouvelle instance d'une classe.
  • DataSet(String data SetName) il représente le nom et il initialise la nouvelle instance de la classe System.Data.DataSet avec le nom il contient le paramètre de chaîne dataSetName qui spécifie le nom du System.Data.DataSet.
  • DataSet (informations de sérialisation, contexte StreamingContext) est le même que ci-dessus, il initialise la nouvelle instance du système. Données. Classe DataSet qui donne les informations de sérialisation et le contexte. Il contient deux paramètres où les informations sont les données pour leur faire sérialiser ou désérialiser un objet. Le contexte représente le flux sérialisé donné de la source à la destination.
  • DataSet (SerializationInfo info, StreamingContext context, bool ConstructSchema) est le même que ci-dessus, il initialise une nouvelle instance de System. Données. Classe DataSet.

Exemples

Dataset est la copie locale de votre base de données qui existe dans le système local et permet à l'application de s'exécuter plus rapidement et de manière fiable. DataSet fonctionne comme une véritable base de données avec un ensemble complet de données qui inclut les contraintes, les relations entre les tables, etc. DataSet est une architecture déconnectée, elle représente les données dans une structure de table, ce qui signifie les données en lignes et colonnes.

Voyons l'exemple par programme comme suit,

Programme

using System;
using System.Collections.Generic;
using System. Data;
namespace Console_DataSet
{
class Program
{
static void Main(string[] args)
{
try
{ // building the EmployeeDetails table using DataTable
DataTable EmployeeDetails = new DataTable("EmployeeDetails");
//to create the column and schema
DataColumn EmployeeID = new DataColumn("EmpID", typeof(Int32));
EmployeeDetails.Columns.Add(EmployeeID);
DataColumn EmployeeName = new DataColumn("EmpName", typeof(string));
EmployeeDetails.Columns.Add(EmployeeName);
DataColumn EmployeeMobile = new DataColumn("EmpMobile", typeof(string));
EmployeeDetails.Columns.Add(EmployeeMobile);
//to add the Data rows into the EmployeeDetails table
EmployeeDetails.Rows.Add(1001, "Andrew", "9000322579");
EmployeeDetails.Rows.Add(1002, "Briddan", "9081223457");
// to create one more table SalaryDetails
DataTable SalaryDetails = new DataTable("SalaryDetails");
//to create the column and schema
DataColumn SalaryId = new DataColumn("SalaryID", typeof(Int32));
SalaryDetails.Columns.Add(SalaryId);
DataColumn empId = new DataColumn("EmployeeID", typeof(Int32));
SalaryDetails.Columns.Add(empId);
DataColumn empName = new DataColumn("EmployeeName", typeof(string));
SalaryDetails.Columns.Add(empName);
DataColumn SalaryPaid = new DataColumn("Salary", typeof(Int32));
SalaryDetails.Columns.Add(SalaryPaid);
//to add the Data rows into the SalaryDetails table
SalaryDetails.Rows.Add(10001, 1001, "Andrew",42000);
SalaryDetails.Rows.Add(10002, 1002, "Briddan",30000);
//to create the object for DataSet
DataSet dataSet = new DataSet();
//Adding DataTables into DataSet
dataSet.Tables.Add(EmployeeDetails);
dataSet.Tables.Add(SalaryDetails);
Console.WriteLine("\n\n\tUSING DATASET");
Console.WriteLine("\n\nEmployeeDetails Table Data: \n");
//to reterieve the DataTable from dataset using the Index position
foreach (DataRow row in dataSet.Tables[0].Rows)
{
Console.WriteLine(row["EmpID"] + ", " + row["EmpName"] + ", " + row["EmpMobile"]);
}
Console.WriteLine();
//SalaryDetails Table
Console.WriteLine("\nOrderDetails Table Data: \n");
//retrieving DataTable from the DataSet using name of the table
foreach (DataRow row in dataSet.Tables["SalaryDetails"].Rows)
{
Console.WriteLine(row["SalaryID"] + ", " + row["EmployeeID"] + ", " + row["EmployeeName"] + ", " + row["Salary"]);
}
}
catch (Exception e)
{
Console.WriteLine("OOPS, Error.\n" + e);
} Console.ReadKey();
}
}
}

Sortie :

Ensemble de données en C#

Conclusion – Ensemble de données en C#

Dans cet article, j'ai expliqué DataSet en C# qui est une architecture déconnectée qui permet de rendre l'utilisation de l'application plus rapide et fiable. J'espère que l'article vous aidera à comprendre le flux de travail de DataSet par programmation et théoriquement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Objet C# vers intArticle suivant:Objet C# vers int