Développement C # - mettre à jour la table de données (15.9)

I. Aperçu

  • Dans la section précédente de la base de données d'opérations C #, il a été introduit pour utiliser la méthode ExecuteNonQuery dans l'objet SqlCommand pour exécuter des instructions SQL sans requête afin de réaliser l'opération de mise à jour de la table de données. L'utilisation de l'objet DataSet peut également réaliser la même fonction et économiser le temps d'accès aux données

  • Chaque DataSet est composé de plusieurs DataTables, la mise à jour des données dans le DataSet est en fait réalisée en mettant à jour le DataTable

  • Chaque objet DataTable est composé d'une ligne (DataRow) et d'une colonne (DataColumn). Ce qui suit décrit l'utilisation de la classe DataRow et de la classe DataColumn

<! - plus ->

Deux classes DataRow

La classe DataRow représente les lignes de la table de données et vous permet d'ajouter, de modifier et de supprimer directement des lignes dans la table de données via cette classe

2.1 Attributs et méthodes couramment utilisés par DataRow

Attribut ou méthode La description
Table Propriété, définissez le nom du DataTable créé par l'objet DataRow
RowState Propriété pour obtenir le statut de la ligne actuelle
HasErrors Propriété pour savoir s'il y a une erreur dans la ligne courante
Accepter les changements () Méthode pour mettre à jour la valeur dans DaaTable
Rejeter les changements () Méthode pour annuler la mise à jour de la valeur dans Datable
Effacer() Méthode, marquez la ligne actuelle à supprimer et mettez à jour la table de données dans l'implémentation de la méthode AcceptChanges

2.2 Création de DataRow

Aucune méthode de construction n'est fournie dans la classe DataRow. Vous devez créer un objet de la classe DataRow via la méthode NewRow dans DataTable. L'instruction spécifique est la suivante:

<span style="color:#333333">DataTable dt=new DataTable();
DataRow dr=dt.NewRow();</span>

De cette manière, dr est la ligne nouvellement ajoutée et chaque ligne de données est composée de plusieurs colonnes. Si la structure de table existe déjà dans l'objet DataTable, le dr[编号或列名]=值formulaire directement utilisé peut affecter des valeurs aux colonnes de la table.

Trois classe DataColumn

La classe DataColumn est un objet de colonne dans la table de données. Comme la définition de colonne de la table dans la base de données, vous pouvez définir le nom de la colonne et le type de données correspondant.

3.1 Méthode de construction DataColumn

Méthode de construction La description
DataColumn () Méthode de construction sans paramètre
DataColumn (chaîne nom_colonne) Le constructeur avec des paramètres, le paramètre columnName représente le nom de la colonne
DataColumn (chaîne columnName, type dataType) Le constructeur avec des paramètres, le paramètre columnName représente le nom de la colonne et le paramètre dataType représente le type de données de la colonne

3.2 Attributs couramment utilisés de l'objet DataColumn

Les attributs La description
Nom de colonne Propriété pour définir le nom de colonne de l'objet DataColumn
Type de données Propriété pour définir le type de données de l'objet DataColumn
Longueur maximale Propriété, définissez la longueur maximale de la valeur de l'objet DataColumn
Légende Propriété, définissez le nom de la colonne de l'objet DataColumn lorsqu'il est affiché, comme pour définir un alias pour la colonne dans la table
Valeur par défaut , Définissez la valeur par défaut de l'objet DataColumn
Incrémentation automatique Propriété, définissez l'objet DataColumn en tant que colonne de croissance automatique, similaire à la colonne d'identité de la table de données dans SQL Server
AutoIncrementSeed Propriété, utilisée conjointement avec la propriété AutoIncrement, utilisée pour définir la valeur initiale de la colonne à incrémentation automatique
AutoIncrementStep Propriété, utilisée conjointement avec la propriété AutoIncrement pour définir la valeur de chaque augmentation dans la colonne auto-incrémentée
Unique Propriété, définissez la valeur de l'objet DataColumn est unique, similaire à la contrainte unique de la table de données
AllowDBNull Propriété pour définir si la valeur de l'objet DataColumn peut être vide

Quatre exemples Concevez une table d'informations professionnelle via la classe DataRow, la classe DataColumn et la classe DataTable, ajoutez un professionnel à la table et affichez toutes les informations professionnelles dans le contrôle ListBox 

4.1 Analyse

Les colonnes du tableau d'informations professionnelles incluent le numéro professionnel et le nom professionnel. Le numéro professionnel doit être une colonne de croissance automatique et le nom professionnel est la seule valeur.

4.2 Mise en page

 

4.3 Code

<span style="color:#333333">public partial class DataRowform : Form
{
    //创建DataTable类的对象其表明为major
    private DataTable dt = new DataTable("major");
    //在构造方法中初始化DataTable对象,设置DataTable 中的列
    public DataRowform()
    {
        InitializeComponent();
        //创建专业编号列,列明为id 、数据类型为整型
        DataColumn id = new DataColumn("id", typeof(int));
        //设置id为自动增长列
        id.AutoIncrement = true;
        //设置id的初始值
        id.AutoIncrementSeed = 1;
        //设置id每次增长的值
        id.AutoIncrementStep = 1;
        //将id列加入到DataTable中
        dt.Columns.Add(id);
        //创建专业名称列,列明为name,数据类型为字符串类型
        DataColumn name = new DataColumn("name", typeof(string));
        //设置name列的值是唯一的
        name.Unique = true;
        //将name列加入到DataTable 对象中
        dt.Columns.Add(name);
    }
    //添加按钮的单击事件
    private void button1_Click(object sender, EventArgs e)
    {
        //向DataTable中天加一行,创建DataRow对象
        DataRow dr = dt.NewRow();
        //添加专业名称列的值
        dr["name"] = textBox1.Text;
        //将DataRow添加到DataTable对象中
        dt.Rows.Add(dr);
        //设置ListBox控件中的DataSource属性
        listBox1.DataSource = dt;
        //设置在listBox控件中显示的列
        listBox1.DisplayMember = dt.Columns["name"].ToString();
    }
}</span>

4.4 Image d'effet

 

4.5 Description

  • L'effet d'exécution ci-dessus montre que l'utilisation de la classe DataTable est similaire à la conception directe d'une table dans la base de données, mais les données ne sont pas stockées dans la base de données.

  • Étant donné que l'utilisation de la classe DataTable peut accomplir les mêmes fonctions que la conception et le fonctionnement de la table, l'effet de la mise à jour de la table de données dans la base de données en mettant à jour le DataTable sera plus efficace et les données peuvent être enregistrées hors ligne

Je suppose que tu aimes

Origine blog.csdn.net/Calvin_zhou/article/details/108080021
conseillé
Classement