Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.67 KB | None | 0 0
  1. namespace _03MinionNames
  2. {
  3.     using System;
  4.     using System.Data.SqlClient;
  5.  
  6.     public class StartUp
  7.     {
  8.         private const string DB_NAME = "MinionsDB";
  9.  
  10.         private static string connectionString = @$"Server=.\SQLEXPRESS;Database={DB_NAME};Integrated Security=true";
  11.  
  12.         public static void Main(string[] args)
  13.         {
  14.             int villainId = int.Parse(Console.ReadLine());
  15.  
  16.             SqlConnection connection = new SqlConnection(connectionString);
  17.  
  18.             connection.Open();
  19.  
  20.             using (connection)
  21.             {
  22.                 string idQuery = @"SELECT [Name] FROM Villains WHERE Id = @Id";
  23.  
  24.                 using SqlCommand idCommand = new SqlCommand(idQuery, connection);
  25.  
  26.                 idCommand.Parameters.AddWithValue("@Id", villainId);
  27.  
  28.                 string villainName = (string)idCommand.ExecuteScalar();
  29.  
  30.                 if (villainName == null)
  31.                 {
  32.                     Console.WriteLine($"No villain with ID {villainId} exists in the database.");
  33.                     return;
  34.                 }
  35.  
  36.                 string minionsQuery = @"SELECT ROW_NUMBER() OVER(ORDER BY [Name]) AS RowNumber,
  37.                                               m.[Name] AS MinionName,
  38.                                               m.Age AS MinionAge
  39.                                          FROM MinionsVillains AS mv
  40.                                               JOIN Minions AS m ON m.Id = mv.MinionId
  41.                                         WHERE mv.VillainId = @Id
  42.                                      ORDER BY m.[Name]";
  43.  
  44.                 using SqlCommand minionsCommand = new SqlCommand(minionsQuery, connection);
  45.  
  46.                 minionsCommand.Parameters.AddWithValue("@Id", villainId);
  47.  
  48.                 SqlDataReader sqlDataReader = minionsCommand.ExecuteReader();
  49.  
  50.                 using (sqlDataReader)
  51.                 {
  52.                     Console.WriteLine($"Villain: {villainName}");
  53.  
  54.                     int counter = 1;
  55.                     while (sqlDataReader.Read())
  56.                     {
  57.                         string minionName = (string)sqlDataReader["MinionName"];
  58.  
  59.                         if (sqlDataReader.HasRows)
  60.                         {
  61.                             int minionAge = (int)sqlDataReader["MinionAge"];
  62.  
  63.                             Console.WriteLine($"{counter}. {minionName} {minionAge}");
  64.                             counter++;
  65.                         }
  66.                         else
  67.                         {
  68.                             Console.WriteLine("(no minions)");
  69.                         }
  70.                     }
  71.                 }
  72.             }
  73.         }
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement