public void UpdateAlbum(AlbumProp albumProp)
        {
            // Skapar och initierar ett anslutningsobjekt.
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("AppSchema.UppAlbum", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    // Lägger till de paramterar den lagrade proceduren kräver. Använder här det effektiva sätttet att
                    // göra det på - något "svårare" men ASP.NET behöver inte "jobba" så mycket.
                    cmd.Parameters.Add("@AlbumID", SqlDbType.VarChar, 50).Value      = albumProp.AlbumID;
                    cmd.Parameters.Add("@AlbumTitel", SqlDbType.VarChar, 50).Value   = albumProp.AlbumTitel;
                    cmd.Parameters.Add("@ArtistTitel", SqlDbType.VarChar, 50).Value  = albumProp.ArtistTitel;
                    cmd.Parameters.Add("@Utgivningsår", SqlDbType.VarChar, 50).Value = albumProp.Utgivningsår;

                    // Öppnar anslutningen till databasen.
                    conn.Open();

                    // Den lagrade proceduren innehåller en UPDATE-sats och returnerar inga poster varför metoden
                    // ExecuteNonQuery används för att exekvera den lagrade proceduren.
                    cmd.ExecuteNonQuery();
                }
                catch
                {
                    // Kastar ett eget undantag om ett undantag kastas.
                    throw new ApplicationException("An error occured in the data hgdfghaccess layer.");
                }
            }
        }
Beispiel #2
0
 public void AlbumFormView_InsertItem(AlbumProp AlbumProp)
 {
     if (ModelState.IsValid)
     {
         try
         {
             ServiceAlbum.SaveAlbum(AlbumProp);
             AlbumMessage = String.Format("Ny kontakt lades till i databasen.");
             Response.Redirect(Request.RawUrl);
         }
         catch (Exception)
         {
             ModelState.AddModelError(String.Empty, "Ett oväntat fel inträffade då kunduppgiften skulle läggas till.");
         }
     }
 }
        public void InsertAlbum(AlbumProp albumProp)
        {
            // Skapar och initierar ett anslutningsobjekt.
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    // Skapar och initierar ett SqlCommand-objekt som används till att
                    // exekveras specifierad lagrad procedur.
                    SqlCommand cmd = new SqlCommand("AppSchema.NyttAlbum", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    // Lägger till de paramterar den lagrade proceduren kräver. Använder här det effektiva sätttet att
                    // göra det på - något "svårare" men ASP.NET behöver inte "jobba" så mycket.
                    cmd.Parameters.Add("@AlbumTitel", SqlDbType.VarChar, 50).Value   = albumProp.AlbumTitel;
                    cmd.Parameters.Add("@ArtistTitel", SqlDbType.VarChar, 50).Value  = albumProp.ArtistTitel;
                    cmd.Parameters.Add("@Utgivningsår", SqlDbType.VarChar, 50).Value = albumProp.Utgivningsår;

                    // Den här parametern är lite speciell. Den skickar inte något data till den lagrade proceduren,
                    // utan hämtar data från den. (Fungerar ungerfär som ref- och out-prameterar i C#.) Värdet
                    // parametern kommer att ha EFTER att den lagrade proceduren exekverats är primärnycklens värde
                    // den nya posten blivit tilldelad av databasen.
                    cmd.Parameters.Add("@AlbumID", SqlDbType.Int, 4).Direction = ParameterDirection.Output;

                    // Öppnar anslutningen till databasen.
                    conn.Open();

                    // Den lagrade proceduren innehåller en INSERT-sats och returnerar inga poster varför metoden
                    // ExecuteNonQuery används för att exekvera den lagrade proceduren.
                    cmd.ExecuteNonQuery();

                    // Hämtar primärnyckelns värde för den nya posten och tilldelar Customer-objektet värdet.
                    albumProp.AlbumID = (int)cmd.Parameters["@AlbumID"].Value;
                }
                catch
                {
                    // Kastar ett eget undantag om ett undantag kastas.
                    throw new ApplicationException("An error occured in the data access layer.");
                }
            }
        }
        public void UpdateAlbum(AlbumProp albumProp)
        {
            // Skapar och initierar ett anslutningsobjekt.
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("AppSchema.UppAlbum", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    // Lägger till de paramterar den lagrade proceduren kräver. Använder här det effektiva sätttet att
                    // göra det på - något "svårare" men ASP.NET behöver inte "jobba" så mycket.
                    cmd.Parameters.Add("@AlbumID", SqlDbType.VarChar, 50).Value = albumProp.AlbumID;
                    cmd.Parameters.Add("@AlbumTitel", SqlDbType.VarChar, 50).Value = albumProp.AlbumTitel;
                    cmd.Parameters.Add("@ArtistTitel", SqlDbType.VarChar, 50).Value = albumProp.ArtistTitel;
                    cmd.Parameters.Add("@Utgivningsår", SqlDbType.VarChar, 50).Value = albumProp.Utgivningsår;

                    // Öppnar anslutningen till databasen.
                    conn.Open();

                    // Den lagrade proceduren innehåller en UPDATE-sats och returnerar inga poster varför metoden
                    // ExecuteNonQuery används för att exekvera den lagrade proceduren.
                    cmd.ExecuteNonQuery();
                }
                catch
                {
                    // Kastar ett eget undantag om ett undantag kastas.
                    throw new ApplicationException("An error occured in the data hgdfghaccess layer.");
                }
            }
        }
        public void InsertAlbum(AlbumProp albumProp)
        {
            // Skapar och initierar ett anslutningsobjekt.
            using (SqlConnection conn = CreateConnection())
            {

                try
                {
                    // Skapar och initierar ett SqlCommand-objekt som används till att
                    // exekveras specifierad lagrad procedur.
                    SqlCommand cmd = new SqlCommand("AppSchema.NyttAlbum", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    // Lägger till de paramterar den lagrade proceduren kräver. Använder här det effektiva sätttet att
                    // göra det på - något "svårare" men ASP.NET behöver inte "jobba" så mycket.
                    cmd.Parameters.Add("@AlbumTitel", SqlDbType.VarChar, 50).Value = albumProp.AlbumTitel;
                    cmd.Parameters.Add("@ArtistTitel", SqlDbType.VarChar, 50).Value = albumProp.ArtistTitel;
                    cmd.Parameters.Add("@Utgivningsår", SqlDbType.VarChar, 50).Value = albumProp.Utgivningsår;

                    // Den här parametern är lite speciell. Den skickar inte något data till den lagrade proceduren,
                    // utan hämtar data från den. (Fungerar ungerfär som ref- och out-prameterar i C#.) Värdet
                    // parametern kommer att ha EFTER att den lagrade proceduren exekverats är primärnycklens värde
                    // den nya posten blivit tilldelad av databasen.
                    cmd.Parameters.Add("@AlbumID", SqlDbType.Int, 4).Direction = ParameterDirection.Output;

                    // Öppnar anslutningen till databasen.
                    conn.Open();

                    // Den lagrade proceduren innehåller en INSERT-sats och returnerar inga poster varför metoden
                    // ExecuteNonQuery används för att exekvera den lagrade proceduren.
                    cmd.ExecuteNonQuery();

                    // Hämtar primärnyckelns värde för den nya posten och tilldelar Customer-objektet värdet.
                    albumProp.AlbumID = (int)cmd.Parameters["@AlbumID"].Value;
                }
                catch
                {
                    // Kastar ett eget undantag om ett undantag kastas.
                    throw new ApplicationException("An error occured in the data access layer.");
                }
            }
        }