Ich möchte das befor die Daten in die Datenbank geschrieben werden ein primärer Schlüssel generiert wird. Dazu will ich den Signal QDataBrowser::beforeInsert ( QSqlRecord * ) von dem Objekt dataBrowser empfangen.
Habe bei meinem Progi folgendes Problem beim compilieren..
editdatabaseimpl.cpp:27: error: no matching function for call to ` EditDatabaseImpl::connect(QDataBrowser*&, const char[27], EditDatabaseImpl* const, const char[27])'
Warum QDataBrowser*& nd nicht QDataBrowser* ?
editdatabaseimpl.cpp
Code: Alles auswählen
#include "editdatabaseimpl.h"
EditDatabaseImpl::EditDatabaseImpl(QWidget *parent, const char *name)
:editDatabaseDialog(parent, name)
{//@todo autoinkrement reinbasteln void QDataBrowser::beforeInsert ( QSqlRecord * buf ) [signal]
connect( dataBrowser, SIGNAL( primeInsert(QSqlRecord *) ), this, SLOT( generateKey(QSqlRecord *) ) );
}
void EditDatabaseImpl::generateKey(QSqlRecord *)
{
qWarning( "EditDatabaseImpl::generateKey(QSqlRecord*): Not implemented yet" );
}Code: Alles auswählen
#ifndef EDITDATABASEIMPL_H
#define EDITDATABASEIMPL_H
#include <qsqlrecord.h>
#include "editdatabase.h"
class EditDatabaseImpl: public editDatabaseDialog {
Q_OBJECT
public:
EditDatabaseImpl(QWidget *parent = 0, const char *name = 0);
public slots:
virtual void generateKey(QSqlRecord *);
};
#endif
Code: Alles auswählen
....
class editDatabaseDialog : public QDialog
{
Q_OBJECT
public:
editDatabaseDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
~editDatabaseDialog();
QDataBrowser* dataBrowser;
...
}