コード例 #1
0
        public void UpdateDepartureCity(City newCity)
        {
            City OldDepartureCity   = City.FindByName(this.GetDepartureCity());
            int  OldDepartureCityId = OldDepartureCity.GetId();

            SqlConnection conn = DB.Connection();

            conn.Open();

            SqlCommand cmd = new SqlCommand("UPDATE flights SET departure_city = @DepartureCity OUTPUT INSERTED.departure_city WHERE id=@FlightId; UPDATE flights_cities SET city_id = @NewDepartureCityId WHERE flight_id = @FlightId AND city_id = @OldDepartureCityId;", conn);

            SqlParameter departureCityParameter = new SqlParameter("@DepartureCity", newCity.GetName());
            SqlParameter flightIdParameter      = new SqlParameter("@FlightId", this.GetId());
            SqlParameter oldDepartureCity       = new SqlParameter("@OldDepartureCityId", OldDepartureCityId);
            SqlParameter newDepartureCity       = new SqlParameter("@NewDepartureCityId", newCity.GetId());

            cmd.Parameters.Add(departureCityParameter);
            cmd.Parameters.Add(flightIdParameter);
            cmd.Parameters.Add(oldDepartureCity);
            cmd.Parameters.Add(newDepartureCity);

            SqlDataReader rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                this._departureCity = rdr.GetString(0);
            }
            if (rdr != null)
            {
                rdr.Close();
            }
            if (conn != null)
            {
                conn.Close();
            }
        }