private void GetDeviceListFromDB() { listViewDevs.Clear(); if (listViewDevs.Items.Count == 0) { //http://csharp.net-informations.com/gui/cs-listview.htm listViewDevs.View = View.Details; listViewDevs.GridLines = true; listViewDevs.FullRowSelect = true; // add column header listViewDevs.Columns.Add("Id", 40); listViewDevs.Columns.Add("Laite", 200); } List <string> idLista = ReadDB.Reader("id", "laite"); List <string> nimiLista = ReadDB.Reader("nimi", "laite"); for (int i = 0; i < nimiLista.Count; i++) { string[] arr = new string[2]; ListViewItem itm; //Add first item arr[0] = idLista[i]; arr[1] = nimiLista[i]; itm = new ListViewItem(arr); listViewDevs.Items.Add(itm); } }
public static void UpdateItem(string nimiInput, int kplInput, double hintaInput, int idInput) { string hinta = hintaInput.ToString(); if (hintaInput.ToString().Contains(",")) { hinta = hintaInput.ToString().Replace(",", "."); } try { var connString = ReadDB.yhteys(); using (var conn = new NpgsqlConnection(connString)) { conn.Open(); using (var cmd = new NpgsqlCommand($"UPDATE komponentti SET nimi = '{nimiInput}', kpl = '{kplInput}', hinta = '{hinta}' WHERE id = '{idInput}'", conn)) { cmd.ExecuteNonQuery(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void Btn_search_Click(object sender, EventArgs e) { //tyhjätään lista jotta voidaan listata hakutulokset listViewComps2.Clear(); if (listViewComps2.Items.Count == 0) { //http://csharp.net-informations.com/gui/cs-listview.htm listViewComps2.View = View.Details; listViewComps2.GridLines = true; listViewComps2.FullRowSelect = true; // add column header listViewComps2.Columns.Add("Id", 40); listViewComps2.Columns.Add("Komponentti", 200); listViewComps2.Columns.Add("Kpl", 80); listViewComps2.Columns.Add("á-hinta", 60); } string whereHelper = textBox_search.Text; whereHelper = "komponentti.nimi LIKE '%" + whereHelper + "%'"; //listataan hakutulokset List <string> idLista = ReadDB.Reader("id", "komponentti", whereHelper); List <string> nimiLista = ReadDB.Reader("nimi", "komponentti", whereHelper); List <string> kplLista = ReadDB.Reader("kpl", "komponentti", whereHelper); List <string> hintaLista = ReadDB.Reader("hinta", "komponentti", whereHelper); for (int i = 0; i < nimiLista.Count; i++) { string[] arr = new string[4]; ListViewItem itm; //Add first item arr[0] = idLista[i]; arr[1] = nimiLista[i]; arr[2] = kplLista[i]; arr[3] = hintaLista[i]; itm = new ListViewItem(arr); listViewComps2.Items.Add(itm); } }
private void CalcStockWorth() // laskee yhteen varaston arvon { List <string> kplLista = ReadDB.Reader("kpl", "komponentti"); List <string> hintaLista = ReadDB.Reader("hinta", "komponentti"); double summa = 0; try { for (int i = 0; i < kplLista.Count; i++) { summa += int.Parse(kplLista[i]) * double.Parse(hintaLista[i]); } stockWorth.Text = "Varaston arvo: " + summa.ToString("0.00") + " €"; } catch (Exception e) { stockWorth.Text = "Varaston arvo: " + e.Message; //throw; } }
// Haetaan tietokannasta private void GetComponentListFromDB() { listViewComps2.Clear(); if (listViewComps2.Items.Count == 0) { //http://csharp.net-informations.com/gui/cs-listview.htm listViewComps2.View = View.Details; listViewComps2.GridLines = true; listViewComps2.FullRowSelect = true; // add column header listViewComps2.Columns.Add("Id", 40); listViewComps2.Columns.Add("Komponentti", 200); listViewComps2.Columns.Add("Kpl", 80); listViewComps2.Columns.Add("á-hinta", 60); } List <string> idLista = ReadDB.Reader("id", "komponentti"); List <string> nimiLista = ReadDB.Reader("nimi", "komponentti"); List <string> kplLista = ReadDB.Reader("kpl", "komponentti"); List <string> hintaLista = ReadDB.Reader("hinta", "komponentti"); for (int i = 0; i < nimiLista.Count; i++) { string[] arr = new string[4]; ListViewItem itm; //Add first item arr[0] = idLista[i]; arr[1] = nimiLista[i]; arr[2] = kplLista[i]; arr[3] = hintaLista[i]; itm = new ListViewItem(arr); listViewComps2.Items.Add(itm); } }
public static void AddItem(string nimiInput, int kplInput, double hintaInput) { try { var connString = ReadDB.yhteys(); using (var conn = new NpgsqlConnection(connString)) { conn.Open(); using (var cmd = new NpgsqlCommand("INSERT INTO komponentti (nimi, kpl, hinta) VALUES (@nimi, @kpl, @hinta)", conn)) { cmd.Parameters.AddWithValue("nimi", nimiInput); cmd.Parameters.AddWithValue("kpl", kplInput); cmd.Parameters.AddWithValue("hinta", hintaInput); cmd.ExecuteNonQuery(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
//metodit public static void DeleteItem(int poistettava) { try { // tietokannan luku Meijan esimerkin perusteella var connString = ReadDB.yhteys(); using (var conn = new NpgsqlConnection(connString)) { conn.Open(); // Here we open connection // Here we define our SQL query using (var cmd = new NpgsqlCommand("DELETE FROM komponentti where id = @id", conn)) { cmd.Parameters.AddWithValue("id", poistettava); cmd.ExecuteNonQuery(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
// kun laitelistalta valitaan laite, haetaan viereiseen ruutuun sen komponentit private void listViewDevs_SelectedIndexChanged(object sender, EventArgs e) { listViewDevComps.Clear(); if (listViewDevComps.Items.Count == 0) { listViewDevComps.View = View.Details; listViewDevComps.GridLines = true; listViewDevComps.FullRowSelect = true; //add column header listViewDevComps.Columns.Add("Id", 40); listViewDevComps.Columns.Add("Komponentti", 200); listViewDevComps.Columns.Add("Kpl", 80); } // haetaan sarakkeisiin tietoja, kun joku laite on listasta valittuna ensin if (listViewDevs.SelectedItems.Count > 0) { ListViewItem item = listViewDevs.SelectedItems[0]; string whereHelper = "laitteen_osat.laite_id = " + item.SubItems[0].Text; // tarkistetaan onko laitelistasta rivi valittuna if (listViewDevs.SelectedItems.Count > 0) { // käydään hakemassa komponenttien id-numerot List <string> idLista = ReadDB.Reader("komp_id", "laitteen_osat", whereHelper); List <string> kompNimiLista = new List <string>(); // täytetään kompNimiListaa käyttämällä apuna idListaan haettujen komponettien id-numeroita for (int i = 0; i < idLista.Count; i++) { string whereHelper_compId = "komponentti.id = " + idLista[i]; // käytetään apulistaa, koska muutoin joka kierroksella kompNimiLista ajautuisi yli metodin palautusarvona tulevalla listalla (joka tässä tapauksessa sisältää vain yhden komponentin nimen, ja mehän halutaan ne kaikki) List <string> listHelper = ReadDB.Reader("nimi", "komponentti", whereHelper_compId); kompNimiLista.Add(listHelper[0]); } List <string> kplLista = ReadDB.Reader("komp_kpl", "laitteen_osat", whereHelper); for (int i = 0; i < idLista.Count; i++) { string[] arr = new string[3]; ListViewItem itm; //Add first item arr[0] = idLista[i]; arr[1] = kompNimiLista[i]; arr[2] = kplLista[i]; itm = new ListViewItem(arr); listViewDevComps.Items.Add(itm); } } } }