none
dotaz

    Dotaz

  •  

    je to správně  class dbs
        {
            public SqlConnectionStringBuilder csb;
            public SqlConnection con;
            public dbs()
            {
                csb = new SqlConnectionStringBuilder();
                csb.DataSource = ConfigurationSettings.AppSettings["server"];
                csb.InitialCatalog = ConfigurationSettings.AppSettings["databaze"];
                csb.UserID = ConfigurationSettings.AppSettings["uzivatel"];
                csb.Password = ConfigurationSettings.AppSettings["heslo"];
                string prip = csb.ConnectionString;
                con = new SqlConnection(prip);
            }
            //INZERTY
            public void vlozTyp(string druh)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into typ(typ_druh) values(@druh);", con);
                comm.Parameters.AddWithValue("@druh", druh);
                MessageBox.Show("Vložen typ");
                comm.ExecuteNonQuery();
                con.Close();
            }
            public void vlozClena(string jmeno, string prijmeni, string telefon, string mesto, string ulice, string cisloPopisne, bool regPoplatek)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into clen(clen_jmeno, clen_prijmeni, clen_telefon, clen_mesto, clen_ulice, clen_cisloPopisne, clen_regPoplatek) values (@jmeno, @prijmeni, @telefon, @mesto, @ulice, @cisloPopisne, @regPoplatek);", con);
                comm.Parameters.AddWithValue("@jmeno", jmeno);
                comm.Parameters.AddWithValue("@prijmeni", prijmeni);
                comm.Parameters.AddWithValue("@telefon", telefon);
                comm.Parameters.AddWithValue("@mesto", mesto);
                comm.Parameters.AddWithValue("@ulice", ulice);
                comm.Parameters.AddWithValue("@cisloPopisne", int.Parse(cisloPopisne));
                comm.Parameters.AddWithValue("@regPoplatek", regPoplatek);
                MessageBox.Show("Vložen člen");
                comm.ExecuteNonQuery();
                con.Close();
            }
            public void vlozFilm(string film, string id_herec, string id_zanr)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into film(film_nazev, herec_id, zanr_id) values(@film, @id_herec, @id_zanr);", con);
                comm.Parameters.AddWithValue("@film_nazev", film);
                comm.Parameters.AddWithValue("@id_herec", int.Parse(id_herec));
                comm.Parameters.AddWithValue("@id_zanr", int.Parse(id_zanr));
                MessageBox.Show("Vložen film");
                comm.ExecuteNonQuery();
                con.Close();
            }
            public void vlozZanr(string zanr)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into zanr(zanr_nazev) values(@zanr);", con);
                comm.Parameters.AddWithValue("@zanr_nazev", zanr);
                MessageBox.Show("Vložen žánr");
                comm.ExecuteNonQuery();
                con.Close();
            }
            public void vlozKopii(string id_film, string id_typ)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into kopie(film_id, typ_id) values(@id_film, @id_typ);", con);
                comm.Parameters.AddWithValue("@id_film", int.Parse(id_film));
                comm.Parameters.AddWithValue("@id_typ", int.Parse(id_typ));
                MessageBox.Show("Vložena kopie");
                comm.ExecuteNonQuery();
                con.Close();
            }
            public void vlozPujcku(string id_clen, string id_kopie)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into pujcka(clen_id, kopie_id) values (@id_clen, @id_kopie);", con);
                comm.Parameters.AddWithValue("@id_clen", int.Parse(id_clen));
                comm.Parameters.AddWithValue("@id_kopie", int.Parse(id_kopie));
                MessageBox.Show("Vložena půjčka");
                comm.ExecuteNonQuery();
                con.Close();
            }
            public void vlozHerce(string jmeno, string prijmeni, string datumNarozeni, string puvodniJmeno)
            {
                con.Open();
                SqlCommand comm = new SqlCommand("insert into herec(herec_jmeno, herec_prijmeni,  herec_datumNarozeni, herec_puvodniJmeno) values(@jmeno, @prijmeni,  @datumNarozeni, @puvodniJmeno);", con);
                comm.Parameters.AddWithValue("@jmeno", jmeno);
                comm.Parameters.AddWithValue("@prijmeni", prijmeni);
                comm.Parameters.AddWithValue("@datumNarozeni", datumNarozeni);
                comm.Parameters.AddWithValue("@puvodniJmeno", puvodniJmeno);
                MessageBox.Show("Vložen herec");
                comm.ExecuteNonQuery();
                con.Close();
            }
            //SELECTY
            public List<string> vypisTypy()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select typ_id, typ_druh from typ", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisFilmy()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select film_id, film_nazev, herec_jmeno, zanr_nazev from film join herec on herec.herec_id = film.herec_id join zanr on zanr.zanr_id = film.zanr_id", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisZanry()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select zanr_id, zanr_nazev from zanr", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                        for (int i = 0; i < pocet; i++)
                        {
                            data += " " + dr[i] + " ";
                        }
                        list.Add(data);
                }
                con.Close();
                return list;        
            }
            public List<string> vypisKopie()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select kopie_id, film_nazev, typ_druh from kopie join film on kopie.film_id = film.film_id join typ on kopie.kopie_id = typ.typ_id", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisHerce()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select herec_id, herec_jmeno, herec_prijmeni, herec_datumNarozeni, herec_puvodniJmeno from herec", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisCleny()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select clen_id, clen_jmeno, clen_prijmeni, clen_telefon, clen_mesto, clen_ulice, clen_cisloPopisne, clen_regPoplatek from clen", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisPujcky()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select pujcka_id, clen_jmeno, kopie_id from pujcka join clen on pujcka.clen_id = clen.clen_id", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisNeplaticiCleny()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select clen_id, clen_jmeno, clen_prijmeni, clen_telefon, clen_mesto, clen_ulice, clen_cisloPopisne, clen_regPoplatek from clen where clen.clen_regPoplatek = 0", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisPujckyClena(string jmeno)
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select pujcka_id, clen_jmeno, kopie_id from pujcka join clen on pujcka.clen_id = clen.clen_id where clen.clen_jmeno = @jmeno", con);
                comm.Parameters.AddWithValue("@jmeno", jmeno);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisRegistrovaneCleny()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select clen_id, clen_jmeno, clen_prijmeni, clen_telefon, clen_mesto, clen_ulice, clen_cisloPopisne, clen_regPoplatek from clen where clen.clen_regPoplatek = 1", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisFilmyPodleHercu()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select film_id, film_nazev, herec.herec_jmeno, herec.herec_prijmeni from film join herec on film.herec_id = herec.herec_id order by herec.herec_prijmeni desc", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            public List<string> vypisVolneKopie()
            {
                con.Open();
                List<string> list = new List<string>();
                SqlCommand comm = new SqlCommand("select film.film_id, film.film_nazev, count(kopie.kopie_id) from film join kopie on film.film_id = kopie.film_id group by film.film_id, film.film_nazev", con);
                SqlDataReader dr = comm.ExecuteReader();
                int pocet = dr.VisibleFieldCount;
                while (dr.Read())
                {
                    String data = "";
                    for (int i = 0; i < pocet; i++)
                    {
                        data += " " + dr[i] + " ";
                    }
                    list.Add(data);
                }
                con.Close();
                return list;
            }
            //EDIT
            public void Uprav(string uzivatel, int id, string tabulka, string sloupec, string hodnota)
            {
                con.Open();
                bool muzedal = true;
                if ((uzivatel == "Admin" && (tabulka == "clen" || tabulka == "pujcka")) || (uzivatel == "User" && (tabulka != "clen" && tabulka != "pujcka")))
                {
                    MessageBox.Show("Tuto tabulku nemůžete se svými právy měnit");
                    muzedal = false;
                }
                if (muzedal)
                {
                    string com = "update " + tabulka + " set " + sloupec + " = @column where " + tabulka + "_id = @id";
                    SqlCommand comm = new SqlCommand(com, con);
                    comm.Parameters.AddWithValue("@column", hodnota);
                    comm.Parameters.AddWithValue("@id", id);
                    comm.ExecuteNonQuery();
                    MessageBox.Show("Změněno");
                }
                con.Close();
            }
            public void Smaz(string uzivatel, int id, string tabulka)
            {
                con.Open();
                bool muzedal = true;
                if ((uzivatel == "Admin" && (tabulka == "clen" || tabulka == "pujcka")) || (uzivatel == "User" && (tabulka != "clen" && tabulka != "pujcka")))
                {
                    MessageBox.Show("You can't edit this table!");
                    muzedal = false;
                }
                if (muzedal)
                {
                    SqlCommand comm = new SqlCommand("delete from " + tabulka + " where " + tabulka + "_id = @id", con);
                    comm.Parameters.AddWithValue("@id", id);
                    comm.ExecuteNonQuery();
                    MessageBox.Show("Vymazáno");
                }
                con.Close();
            }
        }
    }

    dík

    6. května 2015 18:01

Odpovědi

  • Ne, není.

    názvové konvence, míchání infrastrukturního kódu a UI (např. MessageBox uvnitř connection-usingu je peklo).

    skládání SQL do stringů "se nesmí" :-)


    Robert Haken, Microsoft MVP ASP.NET/IIS, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz

    29. května 2015 14:30
    Moderátor

Všechny reakce

  • Ne, není.

    názvové konvence, míchání infrastrukturního kódu a UI (např. MessageBox uvnitř connection-usingu je peklo).

    skládání SQL do stringů "se nesmí" :-)


    Robert Haken, Microsoft MVP ASP.NET/IIS, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz

    29. května 2015 14:30
    Moderátor
  • Jak hovoří kolega Haken,
    ne snad, že by se to nesmělo ve smyslu přímého zákazu, ale skládat dotazy na db do stringů se krajně nedoporučuje z důvodu bezpečnosti. Mnohem lepší metodou jsou "uložené procedury". Důrazně ti doporučuji, abys tomu ještě trochu dal a přečetl si jak lépe zajistit db.
    15. srpna 2015 13:10