//Muokkaa ID:n mukaista Columnia. tark Vastaanottaa olion Materiaali ja korvaa tietokannasta MateriaaliID:n mukaisen columnin tiedot. public bool Update(Materiaali m) { try { sql = "UPDATE mydb.Materiaali SET MateriaaliID='" + m.Id + "', MaaliID='" + m.MaaliId + "', VaneriID='" + m.VaneriId + "', LautaID='" + m.LautaId + "' WHERE MateriaaliID ='" + m.Id + "';"; command = new SqlCommand(sql, cnn); //en tiedä miksi on kaksi eri sql-komentoa, ohjeiden mukaan tein UwU 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) { Console.WriteLine(ex.Message); return(false); } }
//Lisää materiaalin tauluun, palauttaa true jos onnistui ilman poikkeuksia, false jos tuli poikkeus public bool InsertInto(Materiaali m) { try { sql = "Insert into mydb.Materiaali (MateriaaliID, MaaliID, VaneriID, LautaID) values ('" + m.Id + "', '" + m.MaaliId + "', '" + m.VaneriId + "', '" + m.LautaId + "');"; 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) { Console.WriteLine(ex.Message); return(false); } }
//Lukee kaiken datan taulusta public List <Materiaali> SelectAll(List <Materiaali> materiaalit) { sql = "Select * from mydb.Materiaali;"; command = new SqlCommand(sql, cnn); dataReader = command.ExecuteReader(); while (dataReader.Read()) { int.TryParse(dataReader.GetValue(0).ToString(), out id); int.TryParse(dataReader.GetValue(1).ToString(), out maaliId); int.TryParse(dataReader.GetValue(2).ToString(), out vaneriId); int.TryParse(dataReader.GetValue(3).ToString(), out lautaId); Materiaali m = Materiaali.Create(id, maaliId, vaneriId, lautaId); materiaalit.Add(m); } dataReader.Close(); return(materiaalit); }
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(); } }