Qt-interest Archive, December 2006
Picker problem with mysql autoincrement
Message 1 in thread
Hi!
I'm using mysql's AUTO_INCREMENT.
The problem is that my Picker
returns 0 for the first item.
AUTO_INCREMENT begins from 1, not from 0.
When my Picker returns 0, the foreign key
constraint fails.
How can i get my Picker to return 1, not 0
for the first item?
code:
#ifndef ARUPICKER_H
#define ARUPICKER_H
#include <qcombobox.h>
#include <qstring.h>
#include <qsqlquery.h>
/**
@author tamas
*/
class AruPicker : public QComboBox
{
Q_OBJECT
Q_PROPERTY(QString arunev READ Arunev WRITE
setArunev)
public:
AruPicker(QWidget * parent = 0, const char * name
= 0);
QString Arunev() const;
void setArunev(int arunev);
private:
QMap<int, QString> index2id;
};
#endif
Implementation:
#include "arupicker.h"
AruPicker::AruPicker(QWidget * parent, const char *
name)
: QComboBox(parent, name)
{
QSqlQuery r("SELECT termek_id, termeknev FROM
raktar");
int i=0;
while(r.next())
{
insertItem(r.value(1).toString(), i );
index2id[i] = (r.value(0)).toInt() ;
i++;
}
}
QString AruPicker::Arunev( ) const
{
return index2id[currentItem()];
}
void AruPicker::setArunev( int arunev )
{
QMap<int, QString>::iterator it;
for(it = index2id.begin(); it != index2id.end();
++it)
{
if(it.data() == arunev)
{
setCurrentItem(it.key());
break;
}
}
}
Tamas
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--
[ signature omitted ]