Witam, może ktoś zobaczy to co mi umyka, mimo wszelakich starań funkcja ta zwraca nadal NULLA ( w bazie są i nulle i zwykłe)
QDate Product::nearestDate()
{
dbManager->imageTableModel("supplydates");
dbManager->m_Filter("productid="+QString::number(prodid));
dbManager->setSort(1);
int max = mymodel->rowCount();
for(int i=0;i<max;i++)
if(dbManager->getSqlTableModel()->record(i).value("date").toDate().isNull()) continue;
else return dbManager->getSqlTableModel()->record(i).value("date").toDate();
}
Używam ją potem np. tutaj
QDate current = QDate::currentDate();
toDate = current.daysTo(nearestDate());
i zwraca ona 0.0.0
A dziwne to wgl, bo mając jeszcze taką funkcję
bool DbManager::editProduct(const QByteArray &imgData, const QString &nm, const QString &nt, const int &kc,
const int &car, const int &pro, const int &fat, const int &wei, const QDate &dat,
const int &typ, int id)
edytującą w bazie danych, do której idzie m.in. ta funkcja nearestDate()
if(dbManager->editProduct(product.getImageToByteArray(),product.getName(),product.getNotes(),product.getKcal(),
product.getCarbonates(),product.getProteins(),product.getFats(),
product.getWeight(),product.nearestDate(),product.getType(),id))
pokazuje mi się mimo wielu edycji i dodawania nowych dat ta sama - 2021-01-01