public static IEnumerable <Project> GetProjects(ref BenchmarkResult br)
        {
            Stopwatch watch = new Stopwatch();

            watch.Start();

            var lista = new List <Project>();

            using (var connection = new NuoDbConnection(connectionString))
            {
                using (var cmd = new NuoDbCommand($"SELECT Id, Name FROM Project ORDER BY Name", connection))
                {
                    connection.Open();
                    using (DbDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.Read())
                        {
                            lista.Add(new Project {
                                Id   = Convert.ToInt32(dr["Id"]),
                                Name = Convert.ToString(dr["Name"])
                            });
                        }
                    }
                    connection.Close();
                }
            }
            watch.Stop();
            br.GetProjectsElapsedMilliseconds = watch.ElapsedMilliseconds;


            return(lista);
        }
示例#2
0
        public void TestNoPrepareNamedParamIn()
        {
            using (NuoDbConnection connection = new NuoDbConnection(TestFixture1.connectionString))
            {
                connection.Open();
                new NuoDbCommand("drop procedure nunit_test if exists", connection).ExecuteNonQuery();
                new NuoDbCommand("create procedure nunit_test(in p1 string, in p2 string) as throw p1; end_procedure", connection).ExecuteNonQuery();

                NuoDbCommand cmd = new NuoDbCommand("nunit_test", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                NuoDbParameter param1 = new NuoDbParameter();
                param1.ParameterName = "p2";
                param1.Direction     = ParameterDirection.Input;
                param1.Value         = "goodbye";
                cmd.Parameters.Add(param1);
                NuoDbParameter param2 = new NuoDbParameter();
                param2.ParameterName = "p1";
                param2.Direction     = ParameterDirection.Input;
                param2.Value         = "hello";
                cmd.Parameters.Add(param2);
                try
                {
                    cmd.ExecuteNonQuery();
                    Assert.Fail();
                }
                catch (Exception e)
                {
                    Assert.IsTrue(e.Message.EndsWith("hello"), "Expected error: 'hello', received " + e.Message);
                }
            }
        }
        private string GeneralSelectDDLFunction(string objectTextName, string objectTable, string objectName, string name, string schema)
        {
            try
            {
                connectionString = "Server=localhost;Database=test;User="******";Password="******"select " + objectTextName + " from SYSTEM. " + objectTable + " where " + objectName + " = '" + name + "' and SCHEMA = '" + schema + "'", connection);
                connection.Open();

                reader = command.ExecuteReader();
                string ddl = "";

                while (reader.Read())
                {
                    ddl = reader[0].ToString();
                }

                connection.Close();
                reader.Close();

                return(ddl);
            }
            catch (NuoDbSqlException e)
            {
                return(e.Message);
            }
        }
示例#4
0
        internal static void CreateGameTable()
        {
            using (NuoDbConnection connection = new NuoDbConnection(connectionString))
            {
                connection.Open();
                try
                {
                    DbCommand dropCommand = new NuoDbCommand("drop table Game", connection);
                    dropCommand.ExecuteNonQuery();
                }
                catch (Exception)
                {
                    // table is allowed to be missing
                }
                DbCommand createCommand = new NuoDbCommand("create table Game" +
                                                           "(" +
                                                           "   Id       bigint generated always as identity not NULL primary key," +
                                                           "   Date     DATE" +
                                                           ")", connection);
                createCommand.ExecuteNonQuery();

                DbCommand insertCommand = new NuoDbCommand("Insert into Game (Date) Values (?)", connection);
                insertCommand.Prepare();

                insertCommand.Parameters[0].Value = "1970-01-01";

                insertCommand.ExecuteNonQuery();
            }
        }
示例#5
0
 private void dodajRobuButton_Click(object sender, EventArgs e)
 {
     if (robaDGV.SelectedRows.Count > 0 && int.Parse(kolicinaTbox.Text) > 0)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "insert into stavka_primka values (" + int.Parse(robaDGV.CurrentRow.Cells[0].Value.ToString()) + "," + idprimka + "," + int.Parse(kolicinaTbox.Text) + ")";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
             MessageBox.Show("Ta roba već postoji na primci");
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
         }
     }
     else
     {
         MessageBox.Show("Nije odabrana roba");
     }
 }
示例#6
0
 private void obrisiPartneraButton_Click(object sender, EventArgs e)
 {
     if (partneriDGV.SelectedRows.Count > 0)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "delete from poslovni_partner where idposlovni_partner = " + int.Parse(partneriDGV.CurrentRow.Cells[0].Value.ToString()) + "";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
             MessageBox.Show("Poslovni partner se ne može brisati dok se navodi na računima ili primkama");
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
             GetPartneri();
         }
     }
     else
     {
         MessageBox.Show("Nije odabran partner");
     }
 }
示例#7
0
 private void dodajPrimkuButton_Click(object sender, EventArgs e)
 {
     if (partneriCbox.SelectedIndex >= 0)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "insert into primka values (default, '" + DateTime.Today.ToString("dd/MM/yyyy") + "', 0, " + idzaposlenik + ", " + idList[partneriCbox.SelectedIndex] + " ); ";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
             GetPrimke();
         }
     }
     else
     {
         MessageBox.Show("Nije odabran partner");
     }
 }
示例#8
0
 private void FillBoxes()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from roba join skladiste on roba.skladiste_idskladiste = skladiste.idskladiste where idroba = " + idRoba + ";";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             nazivTbox.Text     = rdr["naziv"].ToString();
             jedcijenaTbox.Text = rdr["jedinicna_cijena"].ToString();
             opisTbox.Text      = rdr["opis"].ToString();
             skladisteCbox.Text = rdr[7].ToString();
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#9
0
 private void obrisiStavkubutton_Click(object sender, EventArgs e)
 {
     if (primkaDGV.SelectedRows.Count > 0 && int.Parse(primkaDGV.CurrentRow.Cells[2].Value.ToString()) == 0 && stavkaDGV.SelectedRows.Count > 0)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "delete from stavka_primka where primka_idprimka = " + int.Parse(primkaDGV.CurrentRow.Cells[0].Value.ToString()) + " and roba_idroba = " + int.Parse(stavkaDGV.CurrentRow.Cells[0].Value.ToString()) + "";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
             GetStavke();
         }
     }
     else if (int.Parse(primkaDGV.CurrentRow.Cells[2].Value.ToString()) == 1)
     {
         MessageBox.Show("Primka je zaključana i ne može se mijenjati");
     }
     else
     {
         MessageBox.Show("Nije odabrana primka");
     }
 }
示例#10
0
 private void otkljucajPrimkuButton_Click(object sender, EventArgs e)
 {
     if (primkaDGV.SelectedRows.Count > 0 && int.Parse(primkaDGV.CurrentRow.Cells[2].Value.ToString()) == 1)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "update primka set kontrola = 0 where idprimka = " + int.Parse(primkaDGV.CurrentRow.Cells[0].Value.ToString()) + "";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
             GetPrimke();
         }
     }
     else if (int.Parse(primkaDGV.CurrentRow.Cells[2].Value.ToString()) == 0)
     {
         MessageBox.Show("Primka je već otključana");
     }
     else
     {
         MessageBox.Show("Nije odabrana primka");
     }
 }
示例#11
0
 private void FillBoxes()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from poslovni_partner join tip_partnera on poslovni_partner.tip_partnera_idtip_partnera = tip_partnera.idtip_partnera where idposlovni_partner = " + idPartner + ";";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             nazivTbox.Text      = rdr["naziv"].ToString();
             oibTbox.Text        = rdr["oib"].ToString();
             telbrojTbox.Text    = rdr["telefonski_broj"].ToString();
             adresaTbox.Text     = rdr["adresa"].ToString();
             brojracunaTbox.Text = rdr["broj_racuna"].ToString();
             tipCbox.Text        = rdr[8].ToString();
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#12
0
 private void GetStavke()
 {
     try
     {
         if (racuniDGV.SelectedRows.Count > 0)
         {
             connection.Open();
             string       sqlQuery = "select * from stavka_racuna join roba on stavka_racuna.roba_idroba = roba.idroba where stavka_racuna.racun_idracun = " + int.Parse(racuniDGV.CurrentRow.Cells[0].Value.ToString());
             NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
             stavkaDGV.Rows.Clear();
             rdr = command.ExecuteReader();
             while (rdr.Read())
             {
                 decimal  cijena    = decimal.Parse(rdr["jedinicna_cijena"].ToString());
                 int      kolicina  = int.Parse(rdr[2].ToString());
                 decimal  uk_cijena = cijena * kolicina;
                 string[] row       = new string[] { rdr["idroba"].ToString(), rdr["naziv"].ToString(), rdr["opis"].ToString(), rdr["jedinicna_cijena"].ToString(), rdr[2].ToString(), uk_cijena.ToString() };
                 stavkaDGV.Rows.Add(row);
             }
             rdr.Close();
         }
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#13
0
 private void izdajRacunButton_Click(object sender, EventArgs e)
 {
     if (racuniDGV.SelectedRows.Count > 0 && int.Parse(racuniDGV.CurrentRow.Cells[3].Value.ToString()) == 0)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "update racun set kontrola = 1 where idracun = " + int.Parse(racuniDGV.CurrentRow.Cells[0].Value.ToString()) + "";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
             GetRacuni();
         }
     }
     else if (int.Parse(racuniDGV.CurrentRow.Cells[3].Value.ToString()) == 1)
     {
         MessageBox.Show("Račun je već zaključan");
     }
     else
     {
         MessageBox.Show("Nije odabran račun");
     }
 }
示例#14
0
 private void GetSkladiste()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from skladiste";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         skladisteDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["idskladiste"].ToString(), rdr["naziv"].ToString(), rdr["adresa"].ToString() };
             skladisteDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#15
0
 private void GetPrimke()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from primka join zaposlenik on primka.zaposlenik_idzaposlenik = zaposlenik.idzaposlenik join poslovni_partner on primka.poslovni_partner_idposlovni_partner = poslovni_partner.idposlovni_partner;";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         primkaDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["idprimka"].ToString(), rdr["datum_zaprimanja"].ToString(), rdr["kontrola"].ToString(), rdr[12].ToString(), rdr[16].ToString() };
             primkaDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#16
0
 private void FillComboBox()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from skladiste";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         skladisteCbox.Items.Clear();
         rdr = command.ExecuteReader();
         int i = 0;
         skladisteCbox.DisplayMember = "Text";
         skladisteCbox.ValueMember   = "Value";
         idList = new List <int>();
         while (rdr.Read())
         {
             skladisteCbox.Items.Add(new { Text = rdr["naziv"].ToString(), Value = rdr["idskladiste"].ToString() });
             idList.Add(int.Parse(rdr["idskladiste"].ToString()));
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#17
0
 private void GetStavke()
 {
     try
     {
         if (primkaDGV.SelectedRows.Count > 0)
         {
             connection.Open();
             string       sqlQuery = "select * from stavka_primka join roba on stavka_primka.roba_idroba = roba.idroba where stavka_primka.primka_idprimka = " + int.Parse(primkaDGV.CurrentRow.Cells[0].Value.ToString()) + ";";
             NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
             stavkaDGV.Rows.Clear();
             rdr = command.ExecuteReader();
             while (rdr.Read())
             {
                 string[] row = new string[] { rdr["idroba"].ToString(), rdr["naziv"].ToString(), rdr["opis"].ToString(), rdr[2].ToString() };
                 stavkaDGV.Rows.Add(row);
             }
             rdr.Close();
         }
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#18
0
 private void GetRoba()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from roba join skladiste on roba.skladiste_idskladiste = skladiste.idskladiste;";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         robaDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["idroba"].ToString(), rdr["naziv"].ToString(), rdr["jedinicna_cijena"].ToString(), rdr["kolicina"].ToString(), rdr["opis"].ToString(), rdr[7].ToString() };
             robaDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#19
0
 private void FillBoxes()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from skladiste where idskladiste = " + idSkladiste + ";";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             nazivTbox.Text  = rdr["naziv"].ToString();
             adresaTbox.Text = rdr["adresa"].ToString();
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#20
0
 private void GetPartneri()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from poslovni_partner join tip_partnera on poslovni_partner.tip_partnera_idtip_partnera = tip_partnera.idtip_partnera";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         partneriDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["idposlovni_partner"].ToString(), rdr["naziv"].ToString(), rdr["oib"].ToString(), rdr["telefonski_broj"].ToString(), rdr["adresa"].ToString(), rdr["broj_racuna"].ToString(), rdr[8].ToString() };
             partneriDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#21
0
 private void spremiButton_Click(object sender, EventArgs e)
 {
     try
     {
         connection.Open();
         string sqlQuery;
         if (idSkladiste == 999)
         {
             sqlQuery = "insert into skladiste values (default, '" + nazivTbox.Text + "', '" + adresaTbox.Text + "' );";
         }
         else
         {
             sqlQuery = "update skladiste set naziv = '" + nazivTbox.Text + "', adresa = '" + adresaTbox.Text + "' where idskladiste = " + idSkladiste + ";";
         }
         NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
         command.ExecuteNonQuery();
         MessageBox.Show("Uspješno izvršeno");
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#22
0
 private void GetPrimke()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select s.racun_idracun, r.naziv, s.kolicina from roba r join stavka_racuna s on s.roba_idroba = r.idroba order by 1;";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         grafDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["racun_idracun"].ToString(), rdr["naziv"].ToString(), rdr["kolicina"].ToString() };
             grafDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#23
0
 private void GetZaposlenici()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from zaposlenik join pozicija on zaposlenik.pozicija_idpozicija = pozicija.idpozicija";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         zaposleniciDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["idzaposlenik"].ToString(), rdr["ime"].ToString(), rdr["prezime"].ToString(), rdr["telefonski_broj"].ToString(), rdr["adresa"].ToString(), rdr["oib"].ToString(), rdr["broj_racuna"].ToString(), rdr["korisnicko_ime"].ToString(), rdr["lozinka"].ToString(), rdr[11].ToString() };
             zaposleniciDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#24
0
        internal static void CreatePersonTable()
        {
            using (NuoDbConnection connection = new NuoDbConnection(connectionString))
            {
                connection.Open();
                try
                {
                    DbCommand dropCommand = new NuoDbCommand("drop table Person", connection);
                    dropCommand.ExecuteNonQuery();
                }
                catch (Exception)
                {
                    // table is allowed to be missing
                }
                DbCommand createCommand = new NuoDbCommand("create table Person" +
                                                           "(" +
                                                           "   Id       char(38) not NULL primary key," +
                                                           "   Name     String" +
                                                           ")", connection);
                createCommand.ExecuteNonQuery();

                DbCommand insertCommand = new NuoDbCommand("Insert into Person (Id, Name) Values (?,?)", connection);
                insertCommand.Prepare();

                insertCommand.Parameters[0].Value = new Guid("{F571197E-7A4F-4961-9363-7411EACCA841}");
                insertCommand.Parameters[1].Value = "Klaus Müller";

                insertCommand.ExecuteNonQuery();
            }
        }
示例#25
0
 private void FillBoxes()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from zaposlenik join pozicija on zaposlenik.pozicija_idpozicija = pozicija.idpozicija where idzaposlenik = " + idZaposlenik + ";";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             imeTbox.Text        = rdr["ime"].ToString();
             prezimeTbox.Text    = rdr["prezime"].ToString();
             oibTbox.Text        = rdr["oib"].ToString();
             telbrojTbox.Text    = rdr["telefonski_broj"].ToString();
             adresaTbox.Text     = rdr["adresa"].ToString();
             brojracunaTbox.Text = rdr["broj_racuna"].ToString();
             korimeTbox.Text     = rdr["korisnicko_ime"].ToString();
             lozinkaTbox.Text    = rdr["lozinka"].ToString();
             pozicijaCbox.Text   = rdr[11].ToString();
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#26
0
        private static IEnumerable <Employee> getEmployeesByProject(int projectId)
        {
            var lista = new List <Employee>();

            using (var connection = new NuoDbConnection(connectionString))
            {
                using (var cmd = new NuoDbCommand($"SELECT Id, Name, ProjectId FROM Employee WHERE ProjectId = {projectId} ORDER BY Name", connection))
                {
                    connection.Open();
                    using (DbDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.Read())
                        {
                            lista.Add(new Employee
                            {
                                Id        = Convert.ToInt32(dr["Id"]),
                                Name      = Convert.ToString(dr["Name"]),
                                ProjectId = projectId
                            });
                        }
                    }
                    connection.Close();
                }
            }
            return(lista);
        }
示例#27
0
 private void GetPozicija()
 {
     try
     {
         connection.Open();
         string       sqlQuery = "select * from pozicija";
         NuoDbCommand command  = new NuoDbCommand(sqlQuery, connection);
         pozicijaDGV.Rows.Clear();
         rdr = command.ExecuteReader();
         while (rdr.Read())
         {
             string[] row = new string[] { rdr["idpozicija"].ToString(), rdr["naziv"].ToString(), rdr["opis"].ToString(), rdr["razina_prava"].ToString() };
             pozicijaDGV.Rows.Add(row);
         }
         rdr.Close();
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
         MessageBox.Show("Pozicija se ne može brisati dok se koristi za zaposlenika");
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
示例#28
0
        public void TestPrepareParamIn()
        {
            using (NuoDbConnection connection = new NuoDbConnection(TestFixture1.connectionString))
            {
                connection.Open();
                new NuoDbCommand("drop procedure nunit_test if exists", connection).ExecuteNonQuery();
                new NuoDbCommand("create procedure nunit_test(in p1 string) as throw p1; end_procedure", connection).ExecuteNonQuery();

                NuoDbCommand cmd = new NuoDbCommand("nunit_test", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Prepare();
                Assert.IsTrue(cmd.Parameters.Contains("p1"));
                Assert.AreEqual(ParameterDirection.Input, cmd.Parameters["p1"].Direction);
                cmd.Parameters["p1"].Value = "hello";
                try
                {
                    cmd.ExecuteNonQuery();
                    Assert.Fail();
                }
                catch (Exception e)
                {
                    Assert.IsTrue(e.Message.EndsWith("hello"), "Expected error: 'hello', received " + e.Message);
                }
            }
        }
示例#29
0
 private void obrisiPozicijuButton_Click(object sender, EventArgs e)
 {
     if (pozicijaDGV.SelectedRows.Count > 0)
     {
         try
         {
             connection.Open();
             string sqlQuery;
             sqlQuery = "delete from pozicija where idpozicija = " + int.Parse(pozicijaDGV.CurrentRow.Cells[0].Value.ToString()) + "";
             NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
             command.ExecuteNonQuery();
             MessageBox.Show("Uspješno izvršeno");
         }
         catch (NuoDbSqlException ex)
         {
             Console.WriteLine("Error: {0}", ex.ToString());
             MessageBox.Show("Pozicija se ne može brisati dok se koristi za zaposlenika");
         }
         finally
         {
             if (connection != null)
             {
                 connection.Close();
             }
             GetPozicija();
         }
     }
     else
     {
         MessageBox.Show("Nije odabrana pozicija");
     }
 }
示例#30
0
 private void spremiButton_Click(object sender, EventArgs e)
 {
     try
     {
         connection.Open();
         string sqlQuery;
         if (idPozicija == 999)
         {
             sqlQuery = "insert into pozicija values (default, '" + nazivTbox.Text + "', '" + opisTbox.Text + "' " + ", " + razinaTbox.Text + " ); ";
         }
         else
         {
             sqlQuery = "update pozicija set naziv = '" + nazivTbox.Text + "', opis = '" + opisTbox.Text + "', razina_prava = " + razinaTbox.Text + " where idpozicija = " + idPozicija + ";";
         }
         NuoDbCommand command = new NuoDbCommand(sqlQuery, connection);
         command.ExecuteNonQuery();
         MessageBox.Show("Uspješno izvršeno");
     }
     catch (NuoDbSqlException ex)
     {
         Console.WriteLine("Error: {0}", ex.ToString());
     }
     finally
     {
         if (connection != null)
         {
             connection.Close();
         }
     }
 }
        protected override DbCommandDefinition CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree)
        {
            if (providerManifest == null)
                throw new ArgumentNullException("providerManifest");

            if (commandTree == null)
                throw new ArgumentNullException("commandTree");

            List<DbParameter> parameters;
            CommandType commandType;
            string commandText = SqlGenerator.GenerateSql(commandTree, out parameters, out commandType);
            DbCommand command = null;
            if (commandType == NuoDbMultipleCommands.MultipleTexts)
                command = new NuoDbMultipleCommands(PrepareTypeCoercions(commandTree));
            else
                command = new NuoDbCommand(PrepareTypeCoercions(commandTree));
            command.CommandText = commandText;
            command.CommandType = commandType;

            // Get the function (if any) implemented by the command tree since this influences our interpretation of parameters
            EdmFunction function = null;
            if (commandTree is DbFunctionCommandTree)
            {
                function = ((DbFunctionCommandTree)commandTree).EdmFunction;
            }

            foreach (KeyValuePair<string, TypeUsage> queryParameter in commandTree.Parameters)
            {
                NuoDbParameter parameter;

                // Use the corresponding function parameter TypeUsage where available (currently, the SSDL facets and 
                // type trump user-defined facets and type in the EntityCommand).
                FunctionParameter functionParameter;
                if (null != function && function.Parameters.TryGetValue(queryParameter.Key, false, out functionParameter))
                {
                    parameter = CreateSqlParameter(functionParameter.Name, functionParameter.TypeUsage, functionParameter.Mode, DBNull.Value);
                }
                else
                {
                    parameter = CreateSqlParameter(queryParameter.Key, queryParameter.Value, ParameterMode.In, DBNull.Value);
                }

                command.Parameters.Add(parameter);
            }

            // Now add parameters added as part of SQL gen (note: this feature is only safe for DML SQL gen which
            // does not support user parameters, where there is no risk of name collision)
            if (null != parameters && 0 < parameters.Count)
            {
                if (!(commandTree is DbInsertCommandTree) &&
                  !(commandTree is DbUpdateCommandTree) &&
                  !(commandTree is DbDeleteCommandTree))
                {
                    throw new InvalidOperationException("SqlGenParametersNotPermitted");
                }

                foreach (DbParameter parameter in parameters)
                {
                    command.Parameters.Add(parameter);
                }
            }

            return CreateCommandDefinition(command);
        }