示例#1
0
文件: DB.cs 项目: SchmitzOri/SongDB
        internal static WordSongsResponse GetWordSongs(Guid wordId)
        {
            using (SqlConnection conn = GetConnection())
            {
                WordSongsResponse ret = new WordSongsResponse()
                {
                    WordSongs = new List <SongDTO>()
                };

                using (SqlCommand comm = new SqlCommand("SELECT DISTINCT s.song_id, song_name, s.artist_id, a.artist_name " +
                                                        "FROM song s " +
                                                        "JOIN artist a ON a.artist_id = s.artist_id " +
                                                        "JOIN location l ON s.song_id = l.song_id " +
                                                        "WHERE l.word_id = @word_id", conn))
                {
                    comm.Parameters.AddWithValue("@word_id", wordId);

                    using (SqlDataReader dr = comm.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            ret.WordSongs.Add(new SongDTO()
                            {
                                Id         = Guid.Parse(dr["song_id"].ToString()),
                                Name       = dr["song_name"].ToString(),
                                ArtistId   = Guid.Parse(dr["artist_id"].ToString()),
                                ArtistName = dr["artist_name"].ToString()
                            });
                        }
                    }
                }

                return(ret);
            }
        }
示例#2
0
 public WordSongsResponse WordSongs(WordSongsRequest request)
 {
     try
     {
         return(DB.GetWordSongs(request.WordId));
     }
     catch (Exception ex)
     {
         var x = new WordSongsResponse()
         {
             WordSongs = new List <SongDTO>()
         };
         x.WordSongs.Add(new SongDTO()
         {
             Id = Guid.Empty, Name = ex.ToString(), ArtistId = Guid.Empty
         });
         return(x);
     }
 }