예제 #1
0
        public static City FetchData(City staden)
        {
            //Skapar ett objekt av klassen SqlConnection
            SqlConnection conn = new SqlConnection();

            //Sätter medlemsvariabeln ConnectionString till den connection string för den databas där AirBnB data finns
            conn.ConnectionString = "Data Source=DESKTOP-VRGDF71;Initial Catalog=Cars;Integrated Security=True";

            try
            {
                conn.Open(); //Öppnar länken mellan C# och SQL

                //Skapar en SQL query, declarerar även vad NULL värden ska sättas till
                SqlCommand myQuery = new SqlCommand("SELECT room_id, host_id, room_type, ISNULL(borough, '') as borough, neighborhood, reviews, overall_satisfaction, accommodates, bedrooms, price, ISNULL(minstay, 0) as minstay, latitude, longitude, last_modified FROM " + staden.Name + ";", conn);

                //Startar inläsningen av data genom att anropa myQuery.ExecuteReader();
                SqlDataReader myReader = myQuery.ExecuteReader();

                //Sätter upp alla variabler som finns i klassen Accommondation och som ska hämtas från tabellen
                int    room_id;
                int    host_id;
                string room_type;
                string borough;
                string neighborhood;
                int    reviews;
                double overall_satisfaction;
                int    accommodates;
                int    bedrooms;
                int    price;
                int    minstay;
                double latitude;
                double longitude;
                string last_modified;
                double temp;                                         //Tempvariable som används för konvertering

                while (myReader.Read())                              //Så länge det finns rader kvar att läsa skall while-loopen köras
                {
                    room_id              = (int)myReader["room_id"]; //Alla värden från SQL servern är objektvärden. Med (*) tvingar vi C# att konvertera objekt till primitiv datatyp
                    host_id              = (int)myReader["host_id"];
                    room_type            = (string)myReader["room_type"];
                    borough              = (string)myReader["borough"];
                    neighborhood         = (string)myReader["neighborhood"];
                    reviews              = (int)myReader["reviews"];
                    overall_satisfaction = (double)myReader["overall_satisfaction"];
                    accommodates         = (int)myReader["accommodates"];
                    temp          = (double)myReader["bedrooms"];
                    bedrooms      = (int)Math.Round(temp);
                    temp          = (double)myReader["price"];
                    price         = (int)Math.Round(temp);
                    minstay       = int.Parse((string)myReader["minstay"]);
                    latitude      = (double)myReader["latitude"];
                    longitude     = (double)myReader["longitude"];
                    last_modified = ((DateTime)myReader["last_modified"]).ToString();
                    Accommodation element = new Accommodation(room_id, host_id, room_type, borough, neighborhood, reviews, overall_satisfaction, accommodates, bedrooms, price, minstay, latitude, longitude, last_modified);
                    staden.addAccommodation(element);
                }
            }
            catch (Exception ex)     //Här fångas eventuella fel upp
            {
                Debug.WriteLine(ex); //Ifall fel sker skriver vi ut felmeddelandet i konsollen
            }
            finally
            {
                conn.Close();
            }

            return(staden);
        }
예제 #2
0
 public void addAccommodation(Accommodation acco)
 {
     n_accommodations++;
     accommodations.Add(acco);
 }