[gelöst] Methode greift nicht auf Attribut zu.
Verfasst: 16. September 2010 01:49
Edit: Sorry. Ich Frage sonst nicht leichtfertig irgendwelche offensichtliche sachen. Ich habe echt zwei Tage gesessen und mich gefragt, warum das nicht geht. Zwei Minuten nach dem ich hier abgeschickt habe war mir das völlig klar.
es muss natürlich
query = new QSqlQuery(db);
statt
QSqlQuery* query = new QSqlQuery(db);
heißen.
Ich habe keine Erklärung dafür, wie ich da auch die Idee kam...
Irgendwie habt ihr mir geholfen, also... Danke
.
Hallo,
ich habe eine Klasse 'MainForm' und in dieser ein privates Attribut 'QSqlQuery* query' und eine private Methode 'ladeListe()'. Wenn ich in dieser Methode aber auf 'query' zugreife stürzt das Programm ab. Im Konstruktor lasse ich den Zeiger 'query' auf ein QSqlQuery zeigen.
Hier der verkürzte Quelltext:
mainform.h:
mainform.cpp
Ich hoffe ich bin im richtigen Forum, ich vermute, dass das Problem nicht wirklich was mit Qt zu tun hat.
Danke im Voraus.
es muss natürlich
query = new QSqlQuery(db);
statt
QSqlQuery* query = new QSqlQuery(db);
heißen.
Ich habe keine Erklärung dafür, wie ich da auch die Idee kam...
Irgendwie habt ihr mir geholfen, also... Danke
Hallo,
ich habe eine Klasse 'MainForm' und in dieser ein privates Attribut 'QSqlQuery* query' und eine private Methode 'ladeListe()'. Wenn ich in dieser Methode aber auf 'query' zugreife stürzt das Programm ab. Im Konstruktor lasse ich den Zeiger 'query' auf ein QSqlQuery zeigen.
Hier der verkürzte Quelltext:
mainform.h:
Code: Alles auswählen
#ifndef MAINFORM_H
#define MAINFORM_H
#include "ui_main.h"
#include "ui_whinzu.h"
#include "wHinzu.h"
#include <QtSql>
#include <QModelIndex>
#include <QMenu>
#include <QAction>
#include <QPoint>
#include <QContextMenuEvent>
class MainForm : public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
public:
MainForm();
private:
QSqlDatabase db;
QSqlQuery* query;
void ladeListe();
};
#endif // MAINFORM_H
Code: Alles auswählen
#include "mainform.h"
MainForm::MainForm()
{
setupUi(this);
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./manager.sqlite");
db.open();
// Zu query gibt der Compiler auch eine Warnung,
// dass des nirgendwo benutzt wird
QSqlQuery* query = new QSqlQuery(db);
ladeListe();
}
// Hier stürzt das programm ab
void MainForm::ladeListe()
{
query->prepare("SELECT [...]"));
query->exec();
}
Danke im Voraus.