/[H6]/MicrosoftDBLayer.cpp
ViewVC logotype

Diff of /MicrosoftDBLayer.cpp

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

revision 52 by torben, Sat Sep 9 05:24:33 2006 UTC revision 54 by torben, Tue Sep 12 09:09:30 2006 UTC
# Line 234  Equipment MicrosoftDBLayer::GetEquipment Line 234  Equipment MicrosoftDBLayer::GetEquipment
234                  e.description = description;                  e.description = description;
235                  e.placement = placement;                  e.placement = placement;
236                  e.status = status;                  e.status = status;
237    
238                    rs.Close();
239    
240                    //fill Equipment::checkouts
241                    SQL = "SELECT TOP 10 Udlån.StartDato, Udlån.Afleveringsdato,Udlån.Antaldage, Person.Initialer\
242                                    FROM Udlån\
243                                    INNER JOIN Person ON Udlån.PersonID = Person.PersonID ";
244                    SQL += "WHERE Udlån.Stregkode = " + barcode + " ORDER BY STARTDATO DESC";
245                    CRecordset rs(&db);
246                    rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
247                    if (rs.GetRecordCount()>0) {
248                            rs.MoveFirst();
249                            while ( !rs.IsEOF() ) {
250                                    Checkout check;
251                                    rs.GetFieldValue((short)0, check.startdate);
252                                    rs.GetFieldValue(1, check.enddate);
253                                    rs.GetFieldValue(2, check.numdays);
254                                    rs.GetFieldValue(3, check.inits);
255    
256                                    e.checkouts.push_back(check);
257                                    rs.MoveNext();
258                            }
259                    }
260                    rs.Close();
261                                    
262                    // fill Equipment::reservations
263                    SQL = "SELECT Resevation.ResevationID, Resevation.StartDato,  Person.Initialer\
264                                    FROM Resevation\
265                                    INNER JOIN Person ON Resevation.PersonID = Person.PersonID ";
266                    SQL += "WHERE Resevation.Stregkode = " + barcode + " ORDER BY STARTDATO ASC";
267                    
268                    rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
269                    if (rs.GetRecordCount()>0) {
270                            rs.MoveFirst();
271                            while ( !rs.IsEOF() ) {
272                                    Reservation res;
273                                    rs.GetFieldValue((short)0, res.reservationID);
274                                    rs.GetFieldValue(1, res.startdate);
275                                    rs.GetFieldValue(2, res.inits);
276    
277                                    e.reservations.push_back(res);
278                                    rs.MoveNext();
279                            }
280                    }
281                    rs.Close();
282          }          }
283          rs.Close();  
284          return e;          return e;
285  }  }
286    
# Line 318  vector<Equipment> MicrosoftDBLayer::Sear Line 363  vector<Equipment> MicrosoftDBLayer::Sear
363                  rs.Close();                  rs.Close();
364          }          }
365    
         // 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 TOP 10 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";  
                 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();  
         }  
   
366          return buffer;          return buffer;
367  }  }
368    

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

  ViewVC Help
Powered by ViewVC 1.1.20