--- MySQLLayer.cpp 2006/09/06 20:27:24 47 +++ MySQLLayer.cpp 2006/09/12 09:09:30 54 @@ -239,8 +239,53 @@ e.description = description; e.placement = placement; e.status = status; + + rs.Close(); + + //fill Equipment::checkouts + + SQL = "SELECT Udlån.StartDato, Udlån.Afleveringsdato,Udlån.Antaldage, Person.Initialer\ + FROM Udlån\ + INNER JOIN Person ON Udlån.PersonID = Person.PersonID "; + SQL += "WHERE Udlån.Stregkode = " + barcode + " ORDER BY STARTDATO DESC LIMIT 10"; + CRecordset rs(&db); + rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); + if (rs.GetRecordCount()>0) { + rs.MoveFirst(); + while ( !rs.IsEOF() ) { + Checkout check; + rs.GetFieldValue((short)0, check.startdate); + rs.GetFieldValue(1, check.enddate); + rs.GetFieldValue(2, check.numdays); + rs.GetFieldValue(3, check.inits); + + e.checkouts.push_back(check); + rs.MoveNext(); + } + } + rs.Close(); + + // fill Equipment::reservations + SQL = "SELECT Resevation.ResevationID, Resevation.StartDato, Person.Initialer\ + FROM Resevation\ + INNER JOIN Person ON Resevation.PersonID = Person.PersonID "; + SQL += "WHERE Resevation.Stregkode = " + barcode + " ORDER BY STARTDATO ASC"; + + rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); + if (rs.GetRecordCount()>0) { + rs.MoveFirst(); + while ( !rs.IsEOF() ) { + Reservation res; + rs.GetFieldValue((short)0, res.reservationID); + rs.GetFieldValue(1, res.startdate); + rs.GetFieldValue(2, res.inits); + + e.reservations.push_back(res); + rs.MoveNext(); + } + } + rs.Close(); } - rs.Close(); return e; } @@ -323,55 +368,6 @@ rs.Close(); } - // now I have the equipment rows the user asked for, now I need some more checkout and - // reservation data for each piece of equipment - - for (int i=0; i0) { - rs.MoveFirst(); - while ( !rs.IsEOF() ) { - Checkout check; - rs.GetFieldValue((short)0, check.startdate); - rs.GetFieldValue(1, check.enddate); - rs.GetFieldValue(2, check.numdays); - rs.GetFieldValue(3, check.inits); - - buffer[i].checkouts.push_back(check); - rs.MoveNext(); - } - } - rs.Close(); - - // fill Equipment::reservations - SQL = "SELECT Resevation.ResevationID, Resevation.StartDato, Person.Initialer\ - FROM Resevation\ - INNER JOIN Person ON Resevation.PersonID = Person.PersonID "; - SQL += "WHERE Resevation.Stregkode = " + buffer[i].barcode + " ORDER BY STARTDATO ASC"; - - rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); - if (rs.GetRecordCount()>0) { - rs.MoveFirst(); - while ( !rs.IsEOF() ) { - Reservation res; - rs.GetFieldValue((short)0, res.reservationID); - rs.GetFieldValue(1, res.startdate); - rs.GetFieldValue(2, res.inits); - - buffer[i].reservations.push_back(res); - rs.MoveNext(); - } - } - rs.Close(); - } - return buffer; }