コード例 #1
0
        public List <Adres> geefAdressen(int straatID)
        {
            DbConnection connection = getConnection();

            string       query    = "SELECT * FROM dbo.adres WHERE straatnaamID=@Id";
            List <Adres> adressen = new List <Adres>();

            using (DbCommand command = connection.CreateCommand())
            {
                command.CommandText = query;
                DbParameter paramId = sqlFactory.CreateParameter();
                paramId.ParameterName = "@Id";
                paramId.DbType        = DbType.Int32;
                paramId.Value         = straatID;
                command.Parameters.Add(paramId);
                connection.Open();
                try
                {
                    DbDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        int   adresID = (int)reader["Id"];
                        Adres adres   = geefAdres(adresID);
                        adressen.Add(adres);
                    }
                    reader.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(null);
                }
                finally
                {
                    connection.Close();
                }
            }
            return(adressen);
        }
コード例 #2
0
        public Dictionary <Gemeente, Dictionary <Straatnaam, List <Adres> > > LeesAdressen()
        {
            //Dictionary<Straatnaam, List<Adres>> straatnamen = new Dictionary<Straatnaam, List<Adres>>();
            Dictionary <Gemeente, Dictionary <Straatnaam, List <Adres> > > gemeentes = new Dictionary <Gemeente, Dictionary <Straatnaam, List <Adres> > >();

            using (StreamReader sr = File.OpenText(@"C:\Users\Sieglinde\OneDrive\Documenten\Programmeren\semester2\programmeren 3\adresbeheer\CrabAdr.gml"))
            {
                string input     = null;
                char[] splitsers = { '<', '>' };

                int    id                = 0;
                int    straatnaamId      = 0;
                string straatnaam        = "";
                string huisnummer        = null;
                string appartementnummer = null;
                string busnummer         = null;
                string huisnrLabel       = null;
                int    nis               = 0;
                string gemeentenaam      = null;
                double x        = 0;
                double y        = 0;
                int    postcode = 0;


                for (int t = 0; t < 7; t++)
                {
                    sr.ReadLine();
                }

                while ((sr.ReadLine()) != null)
                {
                    for (int teller = 1; teller <= 22; teller++)
                    {
                        input = sr.ReadLine();
                        if (input == null)
                        {
                            break;
                        }
                        else if (teller == 1 || (teller >= 12 && teller <= 15) || teller >= 18)
                        {
                        }
                        else if (teller == 2)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                id = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 3)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                straatnaamId = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 4)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                straatnaam = inputs[2];
                            }
                        }
                        else if (teller == 5)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                huisnummer = inputs[2];
                            }
                        }
                        else if (teller == 6)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                appartementnummer = inputs[2];
                            }
                        }
                        else if (teller == 7)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                busnummer = inputs[2];
                            }
                        }
                        else if (teller == 8)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                huisnrLabel = inputs[2];
                            }
                        }
                        else if (teller == 9)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                nis = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 10)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                gemeentenaam = inputs[2];
                            }
                        }
                        else if (teller == 11)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                postcode = int.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 16)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                x = double.Parse(inputs[2]);
                            }
                        }
                        else if (teller == 17)
                        {
                            String[] inputs = input.Split(splitsers);
                            if (inputs.Length == 5)
                            {
                                y = double.Parse(inputs[2]);
                            }
                        }
                    }
                    //kijken of de gemeente al in de dictionary zit, zo niet: gemeente maken
                    Gemeente gemeente = new Gemeente(nis, gemeentenaam);
                    if (!gemeentes.ContainsKey(gemeente))
                    {
                        gemeentes.Add(gemeente, new Dictionary <Straatnaam, List <Adres> >());
                    }

                    //kijken of de straat al in de dictionary zit, zo niet: straat maken
                    Straatnaam straat = new Straatnaam(straatnaamId, straatnaam, gemeente);

                    if (!gemeentes[gemeente].ContainsKey(straat))
                    {
                        gemeentes[gemeente].Add(straat, new List <Adres>());
                    }

                    //adres aanmaken
                    Adres adres = new Adres(id, straat, appartementnummer, busnummer, huisnummer, huisnrLabel, gemeente, postcode, x, y);

                    //adres toevoegen aan dictionary
                    gemeentes[gemeente][straat].Add(adres);
                }
            }
            return(gemeentes);
        }
コード例 #3
0
        public void voegAdresToe(Adres adres)
        {
            DbConnection connection = getConnection();
            string       query      = "INSERT INTO dbo.adres(Id,straatnaamID,huisnummer,appartementnummer,busnummer,huisnummerlabel,adreslocatieID) VALUES(@Id,@straatnaamID,@huisnummer,@appartementnummer,@busnummer,@huisnummerlabel,@adreslocatieID)";
            string       query2     = "INSERT INTO dbo.adresLocatie(Id,X,Y) VALUES(@AdreslocatieId,@X,@Y)";

            using (DbCommand command = connection.CreateCommand())
                using (DbCommand command2 = connection.CreateCommand())
                {
                    connection.Open();
                    DbTransaction transaction = connection.BeginTransaction();
                    command.Transaction  = transaction;
                    command2.Transaction = transaction;

                    try
                    {
                        DbParameter parId = sqlFactory.CreateParameter();
                        parId.ParameterName = "@Id";
                        parId.DbType        = DbType.Int32;
                        command.Parameters.Add(parId);
                        DbParameter parStraatnaamID = sqlFactory.CreateParameter();
                        parStraatnaamID.ParameterName = "@straatnaamID";
                        parStraatnaamID.DbType        = DbType.Int32;
                        command.Parameters.Add(parStraatnaamID);
                        DbParameter parHuisnummer = sqlFactory.CreateParameter();
                        parHuisnummer.ParameterName = "@huisnummer";
                        parHuisnummer.DbType        = DbType.String;
                        command.Parameters.Add(parHuisnummer);
                        DbParameter parAppartementnummer = sqlFactory.CreateParameter();
                        parAppartementnummer.ParameterName = "@appartementnummer";
                        parAppartementnummer.DbType        = DbType.String;
                        command.Parameters.Add(parAppartementnummer);
                        DbParameter parBusnummer = sqlFactory.CreateParameter();
                        parBusnummer.ParameterName = "@busnummer";
                        parBusnummer.DbType        = DbType.String;
                        command.Parameters.Add(parBusnummer);
                        DbParameter parHuisnummerlabel = sqlFactory.CreateParameter();
                        parHuisnummerlabel.ParameterName = "@huisnummerlabel";
                        parHuisnummerlabel.DbType        = DbType.String;
                        command.Parameters.Add(parHuisnummerlabel);
                        DbParameter parAdreslocatieID = sqlFactory.CreateParameter();
                        parAdreslocatieID.ParameterName = "@adreslocatieID";
                        parAdreslocatieID.DbType        = DbType.Int32;
                        command.Parameters.Add(parAdreslocatieID);

                        command.CommandText                       = query;
                        command.Parameters["@Id"].Value           = adres.ID;
                        command.Parameters["@straatnaamID"].Value = adres.Straat.ID;
                        command.Parameters["@huisnummer"].Value   = adres.Huisnummer;

                        //probleem met null waardes toevoegen aan de db!!  gebruik van DBNull.Value?

                        if (adres.Appartementnummer == null)
                        {
                            command.Parameters["@appartementnummer"].Value = DBNull.Value;
                        }
                        else
                        {
                            command.Parameters["@appartementnummer"].Value = adres.Appartementnummer;
                        }

                        if (adres.Busnummer == null)
                        {
                            command.Parameters["@busnummer"].Value = DBNull.Value;
                        }
                        else
                        {
                            command.Parameters["@busnummer"].Value = adres.Busnummer;
                        }

                        if (adres.Huisnummerlabel == null)
                        {
                            command.Parameters["@huisnummerlabel"].Value = DBNull.Value;
                        }
                        else
                        {
                            command.Parameters["@huisnummerlabel"].Value = adres.Huisnummerlabel;
                        }

                        if (adres.Locatie.ID == 0)
                        {
                            command.Parameters["@adreslocatieID"].Value = DBNull.Value;
                        }
                        else
                        {
                            command.Parameters["@adreslocatieID"].Value = adres.Locatie.ID;
                        }

                        command.ExecuteNonQuery();

                        DbParameter parAdreslocatieId = sqlFactory.CreateParameter();
                        parAdreslocatieId.ParameterName = "@AdreslocatieId";
                        parAdreslocatieId.DbType        = DbType.Int32;
                        command2.Parameters.Add(parAdreslocatieId);
                        DbParameter parX = sqlFactory.CreateParameter();
                        parX.ParameterName = "@X";
                        parX.DbType        = DbType.Double;
                        command2.Parameters.Add(parX);
                        DbParameter parY = sqlFactory.CreateParameter();
                        parY.ParameterName = "@Y";
                        parY.DbType        = DbType.Double;
                        command2.Parameters.Add(parY);

                        command2.CommandText = query2;
                        command2.Parameters["@AdreslocatieId"].Value = adres.Locatie.ID;
                        command2.Parameters["@X"].Value = adres.Locatie.X;
                        command2.Parameters["@Y"].Value = adres.Locatie.Y;

                        command2.ExecuteNonQuery();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        Console.WriteLine(ex);
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: timdesm/hogent-adreslezen
        public static void buildObject(List <String> lines)
        {
            Dictionary <String, String> data = new Dictionary <String, String>();

            foreach (String line in lines)
            {
                // Collect data
                if (line.Contains(":ID>"))
                {
                    data.Add("ID", cleanObject(line));
                }

                if (line.Contains(":STRAATNMID"))
                {
                    data.Add("STRAATNMID", cleanObject(line));
                }

                if (line.Contains(":STRAATNM>"))
                {
                    data.Add("STRAATNM", cleanObject(line));
                }

                if (line.Contains(":HUISNR"))
                {
                    data.Add("HUISNR", cleanObject(line));
                }

                if (line.Contains(":APPTNR"))
                {
                    data.Add("APPTNR", cleanObject(line));
                }

                if (line.Contains(":BUSNR"))
                {
                    data.Add("BUSNR", cleanObject(line));
                }

                if (line.Contains(":HNRLABEL"))
                {
                    data.Add("HNRLABEL", cleanObject(line));
                }

                if (line.Contains(":NISCODE"))
                {
                    data.Add("NISCODE", cleanObject(line));
                }

                if (line.Contains(":GEMEENTE"))
                {
                    data.Add("GEMEENTE", cleanObject(line));
                }

                if (line.Contains(":POSTCODE"))
                {
                    data.Add("POSTCODE", cleanObject(line));
                }

                if (line.Contains(":HERKOMST"))
                {
                    data.Add("HERKOMST", cleanObject(line));
                }

                if (line.Contains(":X>"))
                {
                    data.Add("X", cleanObject(line));
                }

                if (line.Contains(":Y>"))
                {
                    data.Add("Y", cleanObject(line));
                }
            }

            // Build classes
            if (!cities.ContainsKey(Int32.Parse(data["NISCODE"])))
            {
                Gemeente temp = new Gemeente(Int32.Parse(data["NISCODE"]), data["GEMEENTE"]);
                cities.Add(Int32.Parse(data["NISCODE"]), temp);
            }

            if (!streets.ContainsKey(Int32.Parse(data["STRAATNMID"])))
            {
                Straatnaam temp = new Straatnaam(Int32.Parse(data["STRAATNMID"]), data["STRAATNM"], cities[Int32.Parse(data["NISCODE"])]);
                streets.Add(Int32.Parse(data["STRAATNMID"]), temp);
            }

            Adres adres = new Adres(Int32.Parse(data["ID"]), streets[Int32.Parse(data["STRAATNMID"])], data["APPTNR"], data["BUSNR"], data["HUISNR"], data["HNRLABEL"], cities[Int32.Parse(data["NISCODE"])], Int32.Parse(data["POSTCODE"]), Double.Parse(data["X"]), Double.Parse(data["Y"]));

            addCache.Add(Int32.Parse(data["ID"]), adres);
            // Add id to list
            addIds.Add(Int32.Parse(data["ID"]));

            List <int> tempCache = new List <int>(cacheDone);

            foreach (int key in tempCache)
            {
                addCache.Remove(key);
                cacheDone.Remove(key);
            }
        }