/[H6]/MySQLLayer.cpp
ViewVC logotype

Diff of /MySQLLayer.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 47 by torben, Wed Sep 6 20:27:24 2006 UTC revision 54 by torben, Tue Sep 12 09:09:30 2006 UTC
# Line 239  Equipment MySQLLayer::GetEquipment(CStri Line 239  Equipment MySQLLayer::GetEquipment(CStri
239                  e.description = description;                  e.description = description;
240                  e.placement = placement;                  e.placement = placement;
241                  e.status = status;                  e.status = status;
242    
243                    rs.Close();
244    
245                    //fill Equipment::checkouts
246                    
247                    SQL = "SELECT Udlån.StartDato, Udlån.Afleveringsdato,Udlån.Antaldage, Person.Initialer\
248                                    FROM Udlån\
249                                    INNER JOIN Person ON Udlån.PersonID = Person.PersonID ";
250                    SQL += "WHERE Udlån.Stregkode = " + barcode + " ORDER BY STARTDATO DESC LIMIT 10";
251                    CRecordset rs(&db);
252                    rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
253                    if (rs.GetRecordCount()>0) {
254                            rs.MoveFirst();
255                            while ( !rs.IsEOF() ) {
256                                    Checkout check;
257                                    rs.GetFieldValue((short)0, check.startdate);
258                                    rs.GetFieldValue(1, check.enddate);
259                                    rs.GetFieldValue(2, check.numdays);
260                                    rs.GetFieldValue(3, check.inits);
261    
262                                    e.checkouts.push_back(check);
263                                    rs.MoveNext();
264                            }
265                    }
266                    rs.Close();
267                                    
268                    // fill Equipment::reservations
269                    SQL = "SELECT Resevation.ResevationID, Resevation.StartDato,  Person.Initialer\
270                                    FROM Resevation\
271                                    INNER JOIN Person ON Resevation.PersonID = Person.PersonID ";
272                    SQL += "WHERE Resevation.Stregkode = " + barcode + " ORDER BY STARTDATO ASC";
273                    
274                    rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
275                    if (rs.GetRecordCount()>0) {
276                            rs.MoveFirst();
277                            while ( !rs.IsEOF() ) {
278                                    Reservation res;
279                                    rs.GetFieldValue((short)0, res.reservationID);
280                                    rs.GetFieldValue(1, res.startdate);
281                                    rs.GetFieldValue(2, res.inits);
282    
283                                    e.reservations.push_back(res);
284                                    rs.MoveNext();
285                            }
286                    }
287                    rs.Close();
288          }          }
         rs.Close();  
289          return e;          return e;
290  }  }
291    
# Line 323  vector<Equipment> MySQLLayer::Search(CSt Line 368  vector<Equipment> MySQLLayer::Search(CSt
368                  rs.Close();                  rs.Close();
369          }          }
370    
         // 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; i<buffer.size(); i++) {  
                 //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 = " + buffer[i].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);  
   
                                 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();  
         }  
   
371          return buffer;          return buffer;
372  }  }
373    

Legend:
Removed from v.47  
changed lines
  Added in v.54

  ViewVC Help
Powered by ViewVC 1.1.20