//Muokkaa ID:n mukaista Columnia. Tarkennus: Vastaanottaa olion Tilaus ja korvaa tietokannasta MateriaaliID:n mukaisen columnin tiedot. public bool Update(Tilaus t) { try { sql = "UPDATE mydb.Tilaus SET TilaajanNimi='" + t.TilaajanNimi + "', TilaajanOsoite='" + t.TilaajanOsoite + "' WHERE TilausID ='" + t.Id + "';"; command = new SqlCommand(sql, cnn); //en tiedä miksi on kaksi eri sql-komentoa, ohjeiden mukaan tein d:D adapter.UpdateCommand = new SqlCommand(sql, cnn); //tämä on se toinen, mutta tämä ilmeisesti on käytössä? adapter.UpdateCommand.ExecuteNonQuery(); command.Dispose(); //poistetaan olio return(true); } catch (Exception ex) { ExceptionController.WriteException(this, ex.Message); return(false); } }
//Lisää tilauksen tauluun, palauttaa true jos ei tule poikkeusta, muuten false public bool InsertInto(Tilaus t) { try { sql = "Insert into mydb.Tilaus (TilaajanNimi, TilaajanOsoite) values ('" + t.TilaajanNimi + "', '" + t.TilaajanOsoite + "');"; command = new SqlCommand(sql, cnn); //en tiedä miksi on kaksi eri sql-komentoa, ohjeiden mukaan tein o.o adapter.InsertCommand = new SqlCommand(sql, cnn); //tämä on se toinen, mutta tämä ilmeisesti on käytössä? adapter.InsertCommand.ExecuteNonQuery(); command.Dispose(); //poistetaan olio return(true); } catch (Exception ex) { ExceptionController.WriteException(this, ex.Message); return(false); } }
public void Run() { List <Materiaali> materiaalit = new List <Materiaali>(); //Lista materiaaleista List <Tilaus> tilaukset = new List <Tilaus>(); //Lista tilauksista List <Varaus> varaukset = new List <Varaus>(); SqlConnection cnn; //tietokantayhteys-olio, jaetaan tämä muualle DatabaseManager dm = new DatabaseManager(); //tietokannanhallinta-olio, mm. yhdistys kantaan cnn = dm.OpenConnection(); //yhdistetään kantaan if (cnn != null) { DatabaseMateriaali dmMat = new DatabaseMateriaali(cnn); //luodaan olio, jolla käsitellään materiaaleja tietokannassa materiaalit = dmMat.SelectAll(materiaalit); //haetaan kaikki materiaalit kannasta listaan DatabaseTilaus dmTil = new DatabaseTilaus(cnn); //luodaan olio, jolla käsitellään tilauksia tietokannassa tilaukset = dmTil.SelectAll(tilaukset); //haetaan kaikki tilaukset kannasta listaan DatabaseVaraus dmVar = new DatabaseVaraus(cnn); varaukset = dmVar.SelectAll(varaukset); //Kokeillaan nyt lisätä kantaan, muokata kantaa ja päivittää listaa Materiaali m = Materiaali.Create(-1, 2, 3, 4); Materiaali mU = Materiaali.Create(5, 6, 7, 8); dmMat.InsertInto(m); dmMat.Update(mU); materiaalit = new List <Materiaali>(); materiaalit = dmMat.SelectAll(materiaalit); //päivitetään lista Tilaus t = Tilaus.Create(-1, "Tilaaja1", 666, materiaalit[materiaalit.Count - 1].Id); Tilaus tU = Tilaus.Create(5, "Tilaaja4299", 1337, materiaalit[3].Id); dmTil.InsertInto(t); dmTil.Update(tU); tilaukset = new List <Tilaus>(); tilaukset = dmTil.SelectAll(tilaukset); Varaus v = Varaus.Create(-1, "Varaaja1", materiaalit[materiaalit.Count - 1].Id, 69); Varaus vU = Varaus.Create(6, "Varaaja6069", materiaalit[4].Id, 21); dmVar.InsertInto(v); dmVar.Update(vU); varaukset = new List <Varaus>(); varaukset = dmVar.SelectAll(varaukset); write(path, materiaalit, tilaukset, varaukset);//lopputilanne dm.CloseConnection(); } }
//Lukee kaiken datan taulusta public List <Tilaus> SelectAll(List <Tilaus> tilaukset) { try { sql = "Select * from mydb.Tilaus;"; command = new SqlCommand(sql, cnn); dataReader = command.ExecuteReader(); while (dataReader.Read()) { int.TryParse(dataReader.GetValue(0).ToString(), out id); tilaajanNimi = dataReader.GetValue(1).ToString(); tilaajanOsoite = dataReader.GetValue(2).ToString(); Tilaus t = Tilaus.Create(id, tilaajanNimi, tilaajanOsoite); tilaukset.Add(t); } dataReader.Close(); return(tilaukset); } catch (Exception ex) { ExceptionController.WriteException(this, ex.Message); return(null); } }