예제 #1
0
        public List <DataTuple> GetIllPersonsByYear(int startYear, int endYear)
        {
            using (SqlConnection connection = DatabaseClient.GetConnection(xmlPath))
            {
                connection.Open();

                StringBuilder builder = new StringBuilder();
                builder.Append("SELECT DISTINCT [No_], [First Name], a.[Last Name], a.Address, a.[Job Title] FROM [CRONUS Sverige AB$Employee] a ");
                builder.Append("JOIN [CRONUS Sverige AB$Employee Absence] b ON a.No_ = b.[Employee No_] ");
                builder.Append("WHERE b.[Cause of Absence Code] = 'SJUK' AND [From Date] BETWEEN @startDate AND @endDate");

                string query = builder.ToString();

                SqlCommand command = new SqlCommand(query, connection);

                DateTime startDate = new DateTime(startYear, 1, 1);
                DateTime endDate   = new DateTime(endYear, 1, 1);

                SqlParameter startDateParam = new SqlParameter("@startDate", System.Data.SqlDbType.DateTime);
                startDateParam.Value = startDate;
                command.Parameters.Add(startDateParam);

                SqlParameter endDateParam = new SqlParameter("@endDate", System.Data.SqlDbType.DateTime);
                endDateParam.Value = endDate;
                command.Parameters.Add(endDateParam);

                command.Prepare();

                SqlDataReader reader = command.ExecuteReader();

                List <DataTuple> tuples = new List <DataTuple>();
                while (reader.Read())
                {
                    DataTuple tuple = new DataTuple();
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        tuple.Add(reader.GetName(i), reader.GetValue(i).ToString());
                    }
                    tuples.Add(tuple);
                }
                return(tuples);
            }
        }
        public List <DataTuple> GetMetadata(string inputQuery)
        {
            using (SqlConnection connection = DatabaseClient.GetConnection(xmlPath))
            {
                connection.Open();

                string query = inputQuery;

                SqlCommand    command = new SqlCommand(query, connection);
                SqlDataReader reader  = command.ExecuteReader();

                List <DataTuple> tuples = new List <DataTuple>();
                while (reader.Read())
                {
                    DataTuple data = new DataTuple();
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        data.Add(reader.GetName(i), reader.GetValue(i).ToString());
                    }
                    tuples.Add(data);
                }
                return(tuples);
            }
        }