Portál AbcLinuxu, 31. října 2025 21:47
QSqlQuery query;
QString prod_id = "blabla";
query.exec("SELECT pictures FROM products WHERE id='" + prod_id + "';");
// Funguje, query.next() je OK, hodnotu "pictures" dostanu
QSqlQuery query;
QString prod_id = "blabla";
query.prepare("SELECT pictures FROM products WHERE id=:prod_id;");
query.bindValue(":prod_id", prod_id);
query.exec();
// exec funguje, ale query.next() nic
QSqlQuery query;
QString prod_id = "blabla";
auto db = QSqlDatabase::database();
db.transaction();
query.prepare("SELECT pictures FROM products WHERE id=:prod_id;");
query.bindValue(":prod_id", prod_id);
query.exec();
db.commit();
// Všechno funguje, hodnotu pictures dostanu
Tedy rád bych věděl, proč 2. příklad nefunguje a proč je zapotřebí transakce? Ke stejné DB se připojuji ještě z PHP, kde prepare funguje bez transakce.
            Řešení dotazu:
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.