QT4 QSqlQuery



  • hallo,

    ich bin mir gerade nicht sicher ob ich den speicher mülle oder nicht, deshalb meine frage:

    QSqlQuery KlasseA::exec(QString query_string)
    {
      QSqlQuery * query = new QSqlQuery(my_database);
      query->prepare(query_string);
      query->exec();
      if(query->isActive())
      {
        return query;
      }
      return NULL;
    }
    
    void WoAnders::methode()
    {
      QSqlQuery * query = my_klasse_a->exec(my_query_string);
      if(query != NULL)
      {
        while(query->next())
        {
          //tu was
        }
      }
    }
    

    sollte ich am ende explizit query->clear() oder so aufrufen?

    grüße

    user, der evil



  • wenn du queries mittels new erzeugst, solltest du sie auch wieder löschen. damit wird dann nebenbei auch indirekt das clear aufgerufen.

    QSqlQuery KlasseA::exec(QString query_string)
    {
      QSqlQuery * query = new QSqlQuery(my_database);
      query->prepare(query_string);
      query->exec();
      if(query->isActive())
      {
        return query;
      }
      delete query; //<- löschen
      return NULL;
    }
    
    void WoAnders::methode()
    {
      QSqlQuery * query = my_klasse_a->exec(my_query_string);
      if(query != NULL)
      {
        while(query->next())
        {
          //tu was
        }
        delete query;//<- löschen
      }
    }
    

Anmelden zum Antworten