I got an asp.net gridview connected to my sql database. When Inserting a new record or updating a record im doing some serverside checks and then either update/insert a record or do nothing. right now i got 2 methods CheckArtistExists and CheckSongExists which are both using a SqlConnection Object e.g.
public bool CheckSongExists(string _title, int _artistId)
    {
        int cnt = -1;
        using (SqlConnection con = new SqlConnection(CS))
        {
            //check if song already is exists in DB
            SqlCommand cmd = new SqlCommand("Select Count(ID) from tblSong WHERE Title = @newTitle AND ArtistId = @newArtistId;", con);
            cmd.Parameters.AddWithValue(@"newTitle", _title);
            cmd.Parameters.AddWithValue(@"newArtistId", _artistId);
            con.Open();
            cnt = (int)cmd.ExecuteScalar();
            // if cnt ==1 song exists in DB, of cnt == 0 song doesnt exist
            if(cnt == 1)
            { return true; }
            else
            { return false; }
        }
    }
So for the Update function in the gridview i need to establish 3 SqlConnections (at max) one to check for the artist(if artist doesnt exist i have to insert a record to tblArtist first) then a check if the song exists(only if artist exists) and finally if song doesnt exist I have to insert a new record.
I know database connections are valuable resources thats why i put them in a using block. So im not quite sure if its good style to use 3 SqlConnection objects to update/insert. Can you please tell me if my code is ok or if i should rather use another approach for this problem.
thank you
 
     
    