Question: I have a C# Application I am creating that stores all data in SQL Server. 

Sometimes it's easier for me to make data changes programmatically and sometimes it's easier to have stored procedures and functions in the SQL Server database and call them.

I am rather new to programming and I don't know what the subtle advantages and/or disadvantages of each method are.

I figure I should probably be doing things one way or the other instead of using several methods. 

My code is starting to look like a random collection of thoughts all just shoved into one spot. No offense to Joel Spolsky. I love his books.

This is a solo project, so I can refactor any amount of code I want to make it better. All options are on the table.

Thanks,

J3r3myK

Answer: 
Well, you're going to end up using ADO.NET either way... it sounds like you mean stored procedures vs command-text. There are advantages of both, unfortunately, so it isn't a simple question, however, if you are looking at tools like LINQ, there are more advantages to command-text, since it can be more "composable" (i.e. the caller can add `Skip`/`Take`/`Where`/`OrderBy` and have it impact the overall query).

Another option that mixes the benefits of both is table-valued-functions (via UDFs) - they also have the advantage of stronger metadata (it is hard to accurately query the schema of a stored-procedure).

Any approach should be injection-safe as long as you correctly use parameters.
I would recommend following one convention or the other (either have your SQL code as strings in your classes or use stored procedures). There are countless debates about this, but there really isn't any important reasons to choose one or the other.