Hei. Am de făcut un tagPage unde user-ul introduce un buget, iar eu trebuie să-i generez mai multe meniu formate din 3 feluri de mâncare care să fie până în bugetul alocat și să respect numărul de kcal zilnic recomandat.
Am încercat chestia asta:
buget = Convert.ToInt32(textBox8.Text);
OleDbConnection conn = new OleDbConnection(constr);
conn.Open();
OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM Meniu WHERE felul = 1", conn);
OleDbDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
OleDbCommand cmd_2 = new OleDbCommand(@"SELECT * FROM Meniu WHERE felul = 2", conn);
OleDbDataReader reader_2 = cmd_2.ExecuteReader();
while (reader_2.Read())
{
if (Convert.ToInt32(reader[3]) + Convert.ToInt32(reader_2[3]) < kcal && Convert.ToInt32(reader[4]) + Convert.ToInt32(reader_2[4]) < buget)
{
OleDbCommand cmd_3 = new OleDbCommand(@"SELECT * FROM Meniu WHERE felul = 3", conn);
OleDbDataReader reader_3 = cmd_3.ExecuteReader();
while (reader_2.Read())
{
if (Convert.ToInt32(reader[3]) + Convert.ToInt32(reader_2[3]) + Convert.ToInt32(reader_3[4]) <= kcal && Convert.ToInt32(reader[4]) + Convert.ToInt32(reader_2[4]) + Convert.ToInt32(reader_3[4]) <= buget)
{
OleDbCommand insert = new OleDbCommand(@"INSERT INTO Generate (felul1_id, felul2_id, felul3_id, kcal, pret) VALUES ('" + reader[1] + "','" + reader_2[1] + "','" + reader_3[1] + "'," + (Convert.ToInt32(reader[3]) + Convert.ToInt32(reader_2[3]) + Convert.ToInt32(reader_3[4])) + ", " + Convert.ToInt32(reader[4]) + Convert.ToInt32(reader_2[4]) + Convert.ToInt32(reader_3[4]) + ")", conn);
insert.ExecuteNonQuery();
}
}
}
}
}
Problema e că nu știu de ce, dar nu funcționează