
Alrighty, things are a bit simpler now.
When you say "connection" to the host PC, I'm assuming you're talking about a constant connection, not like a web site where you connect, grab some data, and then the connection is automatically closed.
So in the first regard, you can use the .NET provider for MySQL (Check out the MySQL site) to do your basic search for music songs. The nice part about this is that the connection is brief, which will save resources, and you can use simple SQL syntax against your database to query based off of name, genre, artist, etc. Ultimately, all you're looking for is a path to the song they want.
So in the second regard, once the user clicks "Get Song" or whatever you desire, you have the path to the file specified and you can take several approaches to this. You could use a simple file copy technique which would pull the file over to the client's system and then execute the play. Another route would be to setup some kind of streaming environment, so that pieces of hte song are being sent constantly to the client while they are playing it. There are pros and cons to both approaches and it will depend more on your user environment and resources you have available to determine which item you would like.
Now I may be COMPLETELY going off tangent here, but have you looked for existing products to meet your solution? I used to use a program called NetJuke which was PHP based (hopefully they won't kick me out of here for saying that 8^D) that used my web server to give me a full "jukebox" of my MP3s that I would access from work. They didn't come down in a streaming mode, but since I was on broadband in both locations, the download time wasn't that noticable. It also generated m3u playlists that Winamp or iTunes picked up without issue. There may be a freeware solution out there that can get you up and runnign faster, if time is of the essence.
Hope this helps!