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