public ContraintePrimaryKey(Table entite)
     : this()
 {
     arrayAttributs = entite.attributs;
     pk = entite.PK;
     nomTable = entite.propNom;
     this.entite = entite;
 }
        public void initialiser()
        {
            arrayFK = new ArrayList();
            arrayCK = new ArrayList();
            arrayUQ = new ArrayList();
            pk = new PrimaryKey("");

            entite = new Table (tableWizard2.propTableWizard1.nomTable.ToString());
            entite.attributs = arrayAttributs;
            entite.PK = pk;
            entite.FK = arrayFK;
            entite.CK = arrayCK;
            entite.UQ = arrayUQ;
        }
Esempio n. 3
0
        private void ConstruireContrainte(string ligne)
        {
            //check for primary key
            int posi =  ligne.IndexOf("primary");
            if (posi != -1) {
                PrimaryKey pk = new PrimaryKey("whateverXxX"); //penser a parser le nom de la contrainte

                ligne = ligne.Substring(posi);
                posi = ligne.IndexOf('(');
                ligne = ligne.Substring(posi);
                int posi2 = ligne.IndexOf(')');
            //				Console.Out.WriteLine(posi2);
                ligne = ligne.Substring(1, posi2-1);
            //				Console.Out.WriteLine(ligne);

                //parser les attributs entre parenthèses
                posi = ligne.IndexOf(',');
                if (posi == -1) {
                    ligne = ligne.Trim();
                    ligne = ligne.Trim('\t');

                    Attribut attr = new Attribut(ligne);
                    ArrayList arr = new ArrayList();
                    arr.Add(attr);
                    pk.attributs = arr;
                    tempTable.PK = pk;

                } else {
                    ArrayList arr = new ArrayList();
                    while (posi != -1) {
                        string nomattr = ligne.Substring(0, posi);
                        nomattr = nomattr.Trim();
                        nomattr = nomattr.Trim('\t');
                        nomattr = nomattr.Trim(',');

                        Attribut attr = new Attribut(nomattr);
                        arr.Add(attr);

                        ligne = ligne.Substring(++posi);
                        posi = ligne.IndexOf(',');

                        Console.Out.WriteLine(posi);
                        ligne = ligne.Trim();
                        ligne = ligne.Trim('\t');
                        ligne = ligne.Trim(',');
                        Console.Out.WriteLine(ligne);
                    }
                    Attribut attr2 = new Attribut (ligne);
                    arr.Add(attr2);

                    for (int i= 0 ; i < arr.Count; i++) {
                        Attribut temp  = (Attribut) arr[i];
                        Console.Out.WriteLine("name: " + temp.propNom + " das");
                    }

                    pk.attributs = arr;
                    tempTable.PK = pk;

                }
            }
        }