using Npgsql; . . . mojaKlasa m = new mojaKlasa(); //gdzie m.connectString() = "Server=10.1.0.143;Port=5432;User Id=login;Password=pass;Database=bazaDanych;Sslmode=Prefer;Protocol=3;Encoding=UNICODE;" NpgsqlConnection conn = new NpgsqlConnection(m.connectString()); try { conn.Open(); NpgsqlCommand command = new NpgsqlCommand("SELECT * FROM adm.typ_sprzetu ORDER BY nazwa", conn); NpgsqlDataReader dr = command.ExecuteReader(); while (dr.Read()) { typFrazy.Items.Add(new MyListBoxItemValue(dr.GetString(1), dr.GetInt32(0))); } dr.Close(); command = new NpgsqlCommand("SELECT sprzet.id, sprzet.nazwa, (SELECT typ_sprzetu.nazwa FROM adm.typ_sprzetu WHERE typ_sprzetu.id = sprzet.typ_sprzetu_id), sprzet.ilosc, (SELECT count(*) FROM adm.sprzet2komp WHERE sprzet2komp.sprzet_id = sprzet.id), sprzet.nr_inw FROM adm.sprzet WHERE skasowany = FALSE ORDER BY nazwa", conn); dr = command.ExecuteReader(); int a = 1; string[] row = new string[7]; while (dr.Read()) { row[0] = a.ToString(); row[1] = dr.GetString(1); row[2] = dr.GetString(2); row[3] = dr.GetInt32(3).ToString(); row[4] = dr.GetInt64(4).ToString(); row[5] = dr.GetString(5); row[6] = dr.GetInt32(0).ToString(); tabSprzetu.Rows.Add(row); a++; } } catch (Exception ee) { MessageBox.Show("Problem z połączeniem do bazy danych: " + ee.ToString()); } finally { conn.Close(); } . . . mojaKlasa m = new mojaKlasa(); NpgsqlConnection conn = new NpgsqlConnection(m.connectString()); try { MyListBoxItemValue typ0 = (MyListBoxItemValue)typ.SelectedItem; conn.Open(); NpgsqlCommand command = new NpgsqlCommand("INSERT INTO adm.sprzet (nazwa, opis, typ_sprzetu_id, nr_seryjny, ilosc, nr_inw) values (:nazwa, :opis, :typ, :nr_seryjny, :ilosc, :nr_inw)", conn); command.Parameters.Add(new NpgsqlParameter("nazwa", DbType.String)); command.Parameters.Add(new NpgsqlParameter("opis", DbType.String)); command.Parameters.Add(new NpgsqlParameter("typ", DbType.Int32)); command.Parameters.Add(new NpgsqlParameter("nr_seryjny", DbType.String)); command.Parameters.Add(new NpgsqlParameter("ilosc", DbType.Int32)); command.Parameters.Add(new NpgsqlParameter("nr_inw", DbType.String)); command.Parameters[0].Value = nazwa.Text; command.Parameters[1].Value = opis.Text; command.Parameters[2].Value = typ0.ItemData; command.Parameters[3].Value = nrSer.Text; command.Parameters[4].Value = int.Parse(ilosc.Text); command.Parameters[5].Value = nrInw.Text; command.ExecuteNonQuery(); } catch (Exception ee) { MessageBox.Show("Problem z połączeniem do bazy danych: " + ee.ToString()); } finally { conn.Close(); }