using System;
using System.Threading;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;

namespace MarsDemo
{
   class Program
   {
      static void Main(string[] args)
      {
         // zakomentuj poniższą instrukcję i zastosuj kolejny łańcuch połączenia
         // aby przerwać pracę aplikacji z błędem
         SqlConnection conn = new SqlConnection(
           "data source=localhost; initial catalog=SampleDB; integrated security=SSPI; multipleactiveresultsets=yes");

         // usuń poniższy komentarz, aby przerwać działanie przykładu z błędem
         //SqlConnection conn = new SqlConnection(
         //   "data source=localhost; initial catalog=SampleDB; integrated security=SSPI;");
         conn.Open();

         SqlCommand cmd1 = conn.CreateCommand();
         cmd1.CommandText = "SELECT * FROM Customers";

         SqlCommand cmd2 = conn.CreateCommand();
         cmd2.CommandText = "SELECT * FROM GameObjects";

         SqlDataReader dr1 = cmd1.ExecuteReader();
         SqlDataReader dr2 = cmd2.ExecuteReader();

         while (dr1.Read())
         {
            Console.WriteLine("{0}, {1}", (String)dr1["LastName"], dr1["FirstName"]);
         }
         while (dr2.Read())
         {
            Point3D currentLoc = (Point3D)dr2.GetValue(dr2.GetOrdinal("Location"));
            Console.WriteLine("{0} znajduje się w położeniu: {1}", dr2["Name"],
               currentLoc.ToString());
         }

         dr2.Close();
         dr1.Close();

         Console.ReadLine();
      }

   }
}
