Пример #1
0
        /// <summary>
        /// SELECT * FROM Emps Job = "Frontend programmer" AND Salary>1000 ORDER BY Ename DESC;
        /// </summary>
        private void Przyklad2Button_Click(object sender, EventArgs e)
        {
            var res = (from emp in Emps
                       where emp.Job == "Frontend programmer" && emp.Salary > 1000
                       orderby emp.Ename descending
                       select new
            {
                Nazwisko = emp.Ename,
                Zarobki = emp.Salary
            }).ToList();

            //-------------------------------------

            var res2 = Emps
                       .Where((emp, indx) => emp.Job == "Frontend programmer" && emp.Salary > 1000)
                       .OrderByDescending(emp => emp.Ename)
                       .Select(emp => new
            {
                Nazwisko = emp.Ename,
                Zarobki  = emp.Salary
            }).ToList();

            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = res2.ToList();
        }
Пример #2
0
        /// <summary>
        /// SELECT MAX(Salary) FROM Emps;
        /// </summary>
        private void Przyklad3Button_Click(object sender, EventArgs e)
        {
            var res2 = Emps.Max(emp => emp.Salary);

            WynikTextBox.Clear();
            WynikTextBox.AppendText(res2.ToString());
            ResultsDataGridView.DataSource = null;
        }
Пример #3
0
        //Znajdź pracownika z najwyższą pensją wykorzystując metodę Aggregate()
        private void Przyklad11Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .Aggregate((e1, e2) => e1.Salary > e2.Salary ? e2 : e1)
                         .ToString();

            WynikTextBox.Clear();
            WynikTextBox.AppendText(result);
            ResultsDataGridView.DataSource = null;
        }
Пример #4
0
        /// <summary>
        /// Zwróć wartość "true" jeśli choć jeden
        /// z elementów kolekcji pracuje jako "Backend programmer".
        /// </summary>
        private void Przyklad8Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .Any(emp => emp.Job == "Backend programmer")
                         .ToString();


            WynikTextBox.Clear();
            WynikTextBox.AppendText(result);
            ResultsDataGridView.DataSource = null;
        }
Пример #5
0
        //Z pomocą języka LINQ i metody SelectMany wykonaj złączenie
        //typu CROSS JOIN
        private void Przyklad12Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .SelectMany(emp => Depts, (emp, dept) => new
            {
                emp.Ename,
                dept.Dname
            })
                         .ToList();

            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = result;
        }
Пример #6
0
        /// <summary>
        /// SELECT Job AS Praca, COUNT(1) LiczbaPracownikow FROM Emps GROUP BY Job;
        /// </summary>
        private void Przyklad7Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .GroupBy(emp => emp.Job)
                         .Select(emp => new
            {
                Praca             = emp.Key,
                LiczbaPracownikow = emp.Count()
            }).ToList();

            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = result;
        }
Пример #7
0
        /// <summary>
        /// SELECT ename AS Nazwisko, job AS Praca FROM Emps;
        /// </summary>
        private void Przyklad5Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .OrderByDescending(emp => emp.Ename)
                         .Select(emp => new
            {
                Nazwisko = emp.Ename,
                Praca    = emp.Job
            }).ToList();

            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = result;
        }
Пример #8
0
        /// <summary>
        /// SELECT TOP 1 * FROM Emp WHERE Job="Frontend programmer"
        /// ORDER BY HireDate DESC;
        /// </summary>
        private void Przyklad9Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .Where(emp => emp.Job == "Frontend programmer")
                         .OrderByDescending(emp => emp.HireDate)
                         .Select(emp => emp)
                         .FirstOrDefault()
                         .ToString();


            WynikTextBox.Clear();
            WynikTextBox.AppendText(result);
            ResultsDataGridView.DataSource = null;
        }
Пример #9
0
        /// <summary>
        /// SELECT Emps.Ename, Emps.Job, Depts.Dname FROM Emps
        /// INNER JOIN Depts ON Emps.Deptno=Depts.Deptno
        /// Rezultat: Złączenie kolekcji Emps i Depts.
        /// </summary>
        private void Przyklad6Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .Join(Depts, emp => emp.Deptno, dept => dept.Deptno, (emp, dept) => new
            {
                emp.Ename,
                emp.Job,
                dept.Dname
            }).ToList();


            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = result;
        }
Пример #10
0
        /*
         *  Celem ćwiczenia jest uzupełnienie poniższych metod.
         *  Każda metoda powinna zawierać kod C#, który z pomocą LINQ'a będzie realizować
         *  zapytania opisane za pomocą SQL'a.
         *  Rezultat zapytania powinien zostać wyświetlony za pomocą kontrolki DataGrid.
         *  W tym celu końcowy wynik należy rzutować do Listy (metoda ToList()).
         *  Jeśli dane zapytanie zwraca pojedynczy wynik możemy je wyświetlić w kontrolce
         *  TextBox WynikTextBox.
         */

        /// <summary>
        /// SELECT * FROM Emps WHERE Job = "Backend programmer";
        /// </summary>
        private void Przyklad1Button_Click(object sender, EventArgs e)
        {
            //1. Query syntax (SQL)
            var res = (from emp in Emps
                       where emp.Job == "Backend programmer"
                       select new
            {
                Nazwisko = emp.Ename,
                Zawod = emp.Job
            }).ToList();

            //2. Lambda and Extension methods

            var res2 = Emps.Where(emp => emp.Job == "Backend programmer").ToList();

            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = res2;
        }
Пример #11
0
        /// <summary>
        /// SELECT Ename, Job, Hiredate FROM Emps
        /// UNION
        /// SELECT "Brak wartości", null, null;
        /// </summary>
        private void Przyklad10Button_Click(object sender, EventArgs e)
        {
            var result = Emps
                         .Select(emp => new
            {
                Ename    = emp.Ename,
                Job      = emp.Job,
                Hiredate = emp.HireDate
            })
                         .Union(Emps
                                .Select(n => new
            {
                Ename    = "Brak wartości",
                Job      = (string)null,
                Hiredate = (DateTime?)null
            }))
                         .ToList();

            WynikTextBox.Clear();
            ResultsDataGridView.DataSource = result;
        }