Simple C# console app to execute command against SQL server database

This example uses the following Nuget packages:
https://www.nuget.org/packages/CommandLineParser/2.3.0/
https://www.nuget.org/packages/Dapper/1.50.5/

 

class Program
    {
        public class Options
        {
           [Option('c', "ConnectionString", Required = true, HelpText = "The SQL Connection string")]
            public string ConnectionString { get; set; }

           [Option('i', "InputFile", Required = true, HelpText = "The file path containing SQL query")]
            public string InputFile { get; set; }
        }

        static void Main(string[] args)
        {
            var connectionString = string.Empty;
            var inputFile = string.Empty;

            Parser.Default.ParseArguments(args)
                   .WithParsed(o =>
                   {
                       connectionString = o.ConnectionString;
                       inputFile = o.InputFile;
                   });

            if ( string.IsNullOrWhiteSpace(connectionString) || string.IsNullOrWhiteSpace(inputFile) )
            {
                Console.WriteLine("Usage #1: RunSqlCmd -c \"CONNECTION-STRING-HERE\" -i \"FILE-PATH-TO-SQL-QUERY\"");
                Console.WriteLine("Usage #2: RunSqlCmd --ConnectionString \"CONNECTION-STRING-HERE\" --InputFile \"FILE-PATH-TO-SQL-QUERY\"");
                return ;
            }

            // get query file contents
            string query = System.IO.File.ReadAllText(inputFile);

            // execute the query
            using (var connection = new SqlConnection(connectionString))
            {
                connection.ExecuteScalar(query);
            }

        }

Leave a comment