Page d'Accueil

Les enregistrements d'un Tableau

 

Principes fondamentaux de saisie de données

 

Introduction

Jusqu'ici, nous avons appris comment créer une base de données et comment créer un tableau. Voici la base de données et le tableau que nous utiliserons :

using System;
using ADODB;

public class Program
{
    static int Main()
    {
        string strSQL;
        object obj = new object();
        ADOX.Catalog catPeople = new ADOX.Catalog();
        ADODB.Connection conPeople = new ADODB.Connection();

        try
        {
            catPeople.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
                              "Data Source='C:\\Programs\\People.mdb';");
            Console.WriteLine("A new Microsoft JET database named " +
                              "People.mdb has been created");

            conPeople.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\People.mdb'",
                           "", "", 0);
            strSQL = "CREATE TABLE Persons(FirstName Text(20), " +
                                          "LastName Text(20), " +
                                          "Gender Text(20));";
            conPeople.Execute(strSQL, out obj, 0);
            Console.WriteLine("A table named Persons has been " +
                              "created in the People.mdb database");
        }
        finally
        {
            conPeople.Close();
        }

        return 0;
    }
}

Ceci crée une base de données Microsoft JET appelée People, suivi d'un tableau appelé Persons ayant trois colonnes.

Après avoir créé un tableau et ses colonnes, vous pouvez peupler la base de données avec des données. La saisie de données consiste à remplir le tableau de valeurs nécessaires. Une série de valeurs qui correspond aux mêmes niveaux des colonnes s'appelle une rangée ou un enregistrement.

Création d'un Nouvel enregistrement

Avant d'exécuter la saisie de données dans un tableau, vous devez savoir que le tableau est structurée, l'ordre de ses colonnes, le type de données pour lesquelles chaque colonne est faite. Pour saisir les données dans un tableau,commencez par INSERTION combinée avec les mots-clés VALUES. l'énoncé utilise la syntaxe suivante :

INSERT TableName VALUES(Column1, Column2, Column_n);

Alternativement, ou pour être plus précis, vous pouvez indiquer que vous saisissez des données dans le tableau en utilisant le mot-clé INTO entre le mot-clé INSERTION et le facteur de TableName. Ceci est fait avec la syntaxe suivante :

INSERT INTO TableName VALUES(Column1, Column2, Column_n);

Le facteur TableName doit être un nom valide d'un tableau existant dans la base de données actuellement sélectionnée. Si le nom est erroné, l'interprèteur SQL considérerait simplement que le tableau auquel vous vous référez n'existe pas. En conséquence, vous recevriez une erreur.

Le mot-clé VALUES indique que vous êtes prêt à énumérer les valeurs des colonnes. Les valeurs des colonnes doivent être incluses entre parenthèses. Indiquez la valeur de chaque colonne dans les parenthèses qui suivent le mot-clé de VALUES :

Valeurs booléennes : Si la colonne est basée sur les valeurs Booléennes, vous devez indiquer sa valeur en tant que 0 ou 1.

Valeurs numériques : Si la colonne est un type numérique et si le nombre est un nombre entier, vous devriez fournir un nombre naturel valide sans séparateur décimal. Si la colonne est pour un nombre décimal, vous pouvez dactylographier la valeur avec son séparateur de caractère (le point pour l'anglais des USA et la virgule pour le français).

Valeurs chaîne de caractères : Si le type de données d'une colonne est un type string, vous devriez inclure sa valeur entre les double guillemets. Par exemple, un nombre d'étagère peut être indiqué comme  "HHR-604" et une initiale moyenne peuvent être donnés comme  "D".

valeurs Date et Heure : Si la colonne était créée pour une date ou un type de données de temps, vous devriez/devez utiliser une formule appropriée avec l'année représentée par 2 ou 4 chiffres. Vous devriez également inclure la date dans de simple guillemets. Si vous voulez indiquer l'année avec 2 chiffres, utilisez la formule :

'yy-mm-dd'

Ou

'yy/mm/dd'

Vous pouvez utiliser le symbole tiret « - » ou « le slash avant / » comme séparateur de date. Une alternative à représenter une année est avec 4 chiffres. Dans ce cas-ci, vous utiliserez les formules :

'yyyy-mm-dd'

Ou

'yyyy/mm/dd'

L'année avec 4 chiffres est plus précise car elle exprime correctement une année complète.

Un mois à partir de janvier à septembre peut être représenté en tant que 1, 2, 3, 4, 5, 6, 7, 8, ou 9. Les nombres de jour suivent la même logique.

Saisie de données adjacentes

La technique la plus commune d'exécuter la saisie de données exige que vous savez l'ordre des colonnes du tableau dans lequel vous voulez saisir les données. Avec cette liste à l'esprit, écrire la valeur de chaque champ dans sa position correcte.

Pendant la saisie de données sur les champs adjacents, si vous n'avez pas une valeur pour un champ numérique, vous devriez taper 0 comme sa valeur. Pour les données de champ chaîne de caractères pour lequel vous ne pouvez rien fournir, tapez deux simple guillemets pour indiquer un champ vide. Voici un exemple :

using System;
using ADODB;

public class Program
{
    static int Main()
    {
        string strSQL;
        object obj = new object();
        ADOX.Catalog catPeople = new ADOX.Catalog();
        ADODB.Connection conPeople = new ADODB.Connection();

        try
        {
          conPeople.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\People.mdb'", "", "", 0);
          conPeople.Execute("INSERT INTO Persons(FirstName, LastName, Gender) " +
                              "VALUES('James', 'Carlton', 'Male');", out obj, 0);
          Console.WriteLine("A new record has been created in the Persons table");
        }
        finally
        {
            conPeople.Close();
        }

        return 0;
    }
}

Saisie de données aléatoires

La saisie de données adjacente exige que vous savez la position de chaque colonne. Le SQL fournit une alternative qui vous permet d'exécuter la saisie de données en utilisant le nom d'une colonne au lieu de sa position. Ceci vous permet de fournir les valeurs des champs dans n'importe quel ordre de votre choix.

Pour exécuter la saisie de données au hasard, vous devez fournir une liste des colonnes du tableau dans l'ordre de votre choix. Vous pouvez utiliser toutes les colonnes ou fournir une liste des mêmes colonnes mais dans votre propre ordre. Voici un exemple :

using System;
using ADODB;

public class Program
{
    static int Main()
    {
        string strSQL;
        object obj = new object();
        ADOX.Catalog catPeople = new ADOX.Catalog();
        ADODB.Connection conPeople = new ADODB.Connection();

        try
        {
          conPeople.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\People.mdb'", "", "", 0);
          conPeople.Execute("INSERT INTO Persons(LastName, Gender, FirstName) " +
                              "VALUES('Germain', 'Male', 'Ndongo');", out obj, 0);
          Console.WriteLine("A new record has been created in the Persons table");
        }
        finally
        {
            conPeople.Close();
        }

        return 0;
    }
}

Vous ne devez pas fournir les données pour toutes les colonnes, juste ceux que vous voulez, dans l'ordre que vous voulez. Pour ce faire, écrivez les noms des colonnes désirées du côté droit du nom du tableau, entre parenthèses. La syntaxe utilisée serait :

INSERT TableName(ColumnName1, Columnname2, ColumnName_n)
VALUES(ValueFormColumnName1, ValueFormColumnName2, ValueFormColumnName_n);

Aide de saisie de données

 

La nullité d'un champ

En exécutant la saisie de données, vous pouvez vous attendre à ce que l'utilisateur saute n'importe quelle colonne dont la valeur n'est pas disponible et passe à la prochaine. Dans certains cas, vous pouvez avoir besoin que la valeur d'une colonne soit indiquée avant que l'utilisateur puisse passer. Si vous créez une colonne et si vous voulez laissez l'utilisateur ajouter ou ne pas ajouter une valeur pour la colonne, dactylographiez le mot-clé NULL du côté droit du type de données. Si vous voulez avoir une valeur pour la colonne, dactylographiez NOT NULL. Voici les exemples :

using System;
using ADODB;

public class Program
{
    static int Main()
    {
       ADOX.Catalog catADOX = new ADOX.Catalog();

       catADOX.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
                      "Data Source='C:\\Programs\\VideoCollection.mdb';");
     Console.WriteLine("A new Microsoft JET database named VideoCollection.mdb " +
                       "has been created");

            ADODB.Connection conVideos = new ADODB.Connection();
            object obj = new object();

            conVideos.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\VideoCollection.mdb'",
                           "", "", 0);
            conVideos.Execute("CREATE TABLE Videos(" +
                              "VideoTitle   STRING NOT NULL, " +
                              "Director     STRING NULL, " +
                       "YearReleased SHORT, " +
                       "Rating       BYTE NULL);",
                       out obj, 0);
            Console.WriteLine("A new table named Videos has been created");
            conVideos.Close();

        return 0;
    }
}

Dans ce cas-ci, en exécutant la saisie de données, l'utilisateur doit toujours fournir une valeur pour la colonne VideoTitle afin de créer un enregistrement. Si vous omettez d'indiquer la nullité d'un champ, c'est supposé NULL ; c'est la cas pour la colonne YearReleased du tableau Videos ci-dessus.

Auto-incrémentation

Quand nous étudierons des rapports, nous verrons que, sur un tableau, chaque disque devrait être uniquement identifié. Ceci devrait être le cas même si beaucoup d'enregistrements semblent avoir les mêmes valeurs pour chaque colonne. Nous avons déjà vu que vous pouvez avoir besoin que l'utilisateur fournisse une valeur pour chaque enregistrement d'une certaine colonne. Dans certains cas, l'utilisateur ne peut pas avoir la bonne valeur pour une colonne mais alors, l'enregistrement devrait être créé, même si c'est provisoire. Pour résoudre ce type de problème et beaucoup d'autres, vous pouvez créer une colonne qui fournit sa propre valeur. D'une part, pour créer une colonne spéciale qui peut être utilisée pour identifier uniquement chaque enregistrement, vous pouvez lui appliquer un type de données nombre entier mais demander le moteur de base de données pour fournir automatiquement une valeur numérique pour la colonne.

Si vous créez la colonne, vous pouvez indiquer son type de données soit COUNTER ou AUTOINCREMENT. Seulement une colonne d'un tableau peut avoir un de ces types de données. Voici un exemple :

using System;
using ADODB;

public static class Program
{
    static int Main()
    {
            ADODB.Connection conVideos = new ADODB.Connection();
            object obj = new object();

            conVideos.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\VideoCollection.mdb'",
                           "", "", 0);
            conVideos.Execute("CREATE TABLE Videos(" +
		              "ShelfNumber  COUNTER, " + 
		              "VideoTitle   STRING NOT NULL, " +
			      "Director     STRING NULL, " +
			      "YearReleased SHORT, " +
			      "Rating       BYTE NULL);",
                       	      out obj, 0);
            Console.WriteLine("A new table named Videos has been created");
            conVideos.Close();

        return 0;
    }
}

Par défaut, quand vous appliquez le type de données COUNTER ou AUTOINCREMENT, quand l'utilisateur crée le premier enregistrement, le champ dans la colonne auto-incrémentée reçoit un nombre 1. Si l'utilisateur crée un deuxième enregistrement, la valeur s'incrémente automatiquement et reçoit le nombre 2, et ainsi de suite. Si vous voulez, vous pouvez faire que le premier enregistrement reçoive un nombre autre que 1. Vous pouvez également lui faire incrémenter à une valeur autre que 1. Pour appliquer ce dispositif, COUNTER et les types AUTOINCREMENT utilisent une graine comme leurs parenthèses :

COUNTER(x,y)

ou

AUTOINCREMENT(x,y)

La valeur de x représente la valeur commençante des enregistrements. La valeur de y indique combien serait ajouté à une valeur pour obtenir la prochaine.

Tailles de champs

En passant en revue les types de données disponibles pour des colonnes, nous avons vu que certains d'entre elles pourraient utiliser un type de données basé sur une chaîne de caractères, se nommant TEXTE, CHAR, ou VARCHAR. Par défaut, si vous créez un tableau et vous placez le type de données d'une colonne comme TEXTE, CHAR, ou VARCHAR, elle est faite pour contenir 255 caractères. Si vous voulez, vous pouvez commander le nombre maximum des caractères qui seraient permis dans une colonne pendant la saisie de données.

Pour indiquer le nombre de caractères de la colonne basée sur une chaîne de caractères, ajoutez les parenthèses aux types de données TEXTE, CHAR, ou VARCHAR, et dans les parenthèses, écrivez le nombre désiré. Voici les exemples :

using System;
using ADODB;

public static class Program
{
    static int Main()
    {
            ADODB.Connection conVideos = new ADODB.Connection();
            object obj = new object();

            conVideos.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\VideoCollection.mdb'",
                           "", "", 0);
            conVideos.Execute("CREATE TABLE Videos(" +
		                "ShelfNumber  COUNTER, " +
				"VideoTitle   STRING(120) NOT NULL, " +
				"Director     VARCHAR(80) NULL, " +
				"YearReleased SHORT, " +
				"Rating       TEXT(20) NULL);",
                       out obj, 0);
            Console.WriteLine("A new table named Videos has been created");

	 conVideos.Close();

        return 0;
    }
}
 

Valeurs par défaut

Une valeur par défaut permet à une colonne d'utiliser une valeur qui est censée être commune à la plupart des cellules d'une colonne particulière. La valeur par défaut peut être placée comme valeur constante ou elle peut utiliser une fonction qui adapterait au moment où la valeur serait nécessaire.

Pour indiquer une valeur par défaut, après le nom et le type de données d'une colonne, tapez DEFAULT et assignez lui la valeur désirée, basée sur le type de données. Voici un exemple :

using System;
using ADODB;

public static class Program
{
    static int Main()
    {
            ADODB.Connection conVideos = new ADODB.Connection();
            object obj = new object();

            conVideos.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
                           "Data Source='C:\\Programs\\VideoCollection.mdb'",
                           "", "", 0);
            conVideos.Execute("CREATE TABLE Videos(" +
		              "ShelfNumber  COUNTER, " +
			      "VideoTitle   STRING(120) NOT NULL, " +
			      "Director     VARCHAR(80) NULL, " +
			      "YearReleased SHORT, " +
			      "Rating       TEXT(20) NULL Default='PG-13')",
                              out obj, 0);
            Console.WriteLine("A new table named Videos has been created");
            conVideos.Close();

        return 0;
    }
}
 

Précédent Copyright © 2007, Yevol