Cześć

Muszę w funkcji Data modelu QSqlTableModel (który subclasowałem) dostać się do innych danych w bazie. Funkcje Data wywołuje z kolei klasa QTableView gdy ma coś wyświetlić, nie mogę jej więc podać wskaźnika do obiektu Sql (który wcześniej utworzyłem)
Ogólnie w innych sytuacjach czasem potrzebuje żeby jakaś funkcja zwróciła mi dane z bazy skojarzone z jakimś id w tabeli etc. bez tworzenia całego obiektu tej klasy, więc chyba rozwiązaniem są funkcje statyczne?

Moje pytanie jest takie:
Ponieważ funkcja statyczna nie ma dostępu do 'this' więc nie mogę ze zmiennych prywatnych klasy dostać się do obiektu SQL
(obiekt ma połączenie do bazy przez QSqlDatabase i obsługuje query przez klasę QSqlQuery, obsługuje mi też błędy bazy, rzuca wyjątki, etc.)

Jedyne rozwiązanie jakie mi przychodzi do głowy, to zapisać wskaźnik do tego obiektu gdzieś w klasie Singleton żeby był dostępny jak zmienna globalna, wtedy w statycznej funkcji mógłbym się chyba do niego odwołać, podać mu query do wykonania i odczytać rezultat. Tylko czy taka jest najlepsza droga? Bo to tylko takie moje gdybanie.

Jeszcze drugie pytanie: Jeśli rzeczywiście robić to przez zapisanie wskaźnika do tego obiektu przez Singleton, to czy w funkcji statycznej powinienem użyć tylko wskaźnika do połączenia do bazy (zapisanego w tym obiekcie) a klasę QSqlQuery zainicjować już w funkcji statycznej na jakiejś zmiennej, czy też mogę spokojnie też używać zmiennych które trzymają obiekty QSqlQuery, w moim obiekcie SQL.
Chodzi mi o wiele jednoczesnych query, które czasem mogą być wykonywane i jeśli w trakcie jakiegoś query w innym obiekcie użyję statycznej funkcji, która też posługuje się tym samym obiektem dostępu do bazy i tym samym obiektem QSqlQuery - to będzie chyba lipa.
Bo z tego co zauważyłem QSqlQuery buforuje odpowiedź bazy, więc za pośrednictwem jednego połączenia do sql można robić inne zapytania w trakcie czytania rezultatu z poprzednich?

pozdrawiam
Marek