QComboBox::setCurrentItem: (ortcombo) Index 0 out of range
QComboBox::setCurrentItem: (ortcombo) Index 0 out of range
Hallo
Ich übe gerade etwas mit dem QT - Designer.
Meine erste kleine Anwendung läuft fehlerfrei
und tut das was ich von ihr erwarte.
Nur wenn ich das programm direkt von der
Kommandozeile starte bekomme ich folgende
Fehlermeldung:
QComboBox::setCurrentItem: (ortcombo) Index 0 out of range
Und hier ist das entsprechende Codefragment.
Eigentlich nur ein QT Beispiel, das ich
an meine Db angepasst habe.
// Orte in die ComboBox laden
QSqlQuery query( "SELECT ort FROM `Orte` WHERE zeigen=1" );
while ( query.next() )
{ortcombo->insertItem( query.value( 0 ).toString());}
ortcombo->setCurrentText ( "Testort" );
ortcombo->setEditable(FALSE);
Kann mir jemand sagen wie ich diese Fehlermeldung
eliminiere? Die Abfrage liefert viele Werte und der
"testort" ist irgendwo in der Mitte.
Vielen Dank im voraus
mfg
Ich übe gerade etwas mit dem QT - Designer.
Meine erste kleine Anwendung läuft fehlerfrei
und tut das was ich von ihr erwarte.
Nur wenn ich das programm direkt von der
Kommandozeile starte bekomme ich folgende
Fehlermeldung:
QComboBox::setCurrentItem: (ortcombo) Index 0 out of range
Und hier ist das entsprechende Codefragment.
Eigentlich nur ein QT Beispiel, das ich
an meine Db angepasst habe.
// Orte in die ComboBox laden
QSqlQuery query( "SELECT ort FROM `Orte` WHERE zeigen=1" );
while ( query.next() )
{ortcombo->insertItem( query.value( 0 ).toString());}
ortcombo->setCurrentText ( "Testort" );
ortcombo->setEditable(FALSE);
Kann mir jemand sagen wie ich diese Fehlermeldung
eliminiere? Die Abfrage liefert viele Werte und der
"testort" ist irgendwo in der Mitte.
Vielen Dank im voraus
mfg
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Elimieren?
Diese Fehlermeldung ist eine Fehlermeldung, dass du auf einen Index 0 zugreifst, den es nicht gibt.
Hast du evtl. einmal das ganze Programm, dass du posten kannst. Es sieht nicht so aus, als ob in diesem Code Fragment zu dem Fehler kommt. Und das Programm macht wirklich genau das was du willst!?
Ich sage mehr dazu, wenn ich den ganzen Code gesehen habe.
Gute Nacht.
Diese Fehlermeldung ist eine Fehlermeldung, dass du auf einen Index 0 zugreifst, den es nicht gibt.
Hast du evtl. einmal das ganze Programm, dass du posten kannst. Es sieht nicht so aus, als ob in diesem Code Fragment zu dem Fehler kommt. Und das Programm macht wirklich genau das was du willst!?
Ich sage mehr dazu, wenn ich den ganzen Code gesehen habe.
Gute Nacht.
Hallo
>Diese Fehlermeldung ist eine Fehlermeldung, dass du auf einen Index 0 >zugreifst, den es nicht gibt.
>Hast du evtl. einmal das ganze Programm, dass du posten kannst. Es sieht >nicht so aus, als ob in diesem Code Fragment zu dem Fehler kommt. Und >das Programm macht wirklich genau das was du willst!?
>Ich sage mehr dazu, wenn ich den ganzen Code gesehen habe.
Also gut, hier ist der gesamte Code.
st aber viel Holz)
Die Fehlermeldung kommt beim Start des Dialoges.
Es muss eigentlich die init()-Funktion sein.
Ich möchte noch darauf hinweisen das ich Anfänger bin
und im Moment nur heilfroh das der Code funktioniert.
Für Verbesserungsvorschläge bin ich jederzeit offen.
Insbesondere wie man "Dinge" wieder löscht.
Ich muss mit vielen Abfragen arbeiten die wahrscheinlich
irgendwo viel Speicherplatz fressen.
Wie kann man die nach Gebrauch wieder löschen?
Noch eine kleine Info: Es gibt eine zweite Combobox:abkcombo
Die bringt keinen Fehler, wird aber genauso befüllt wie ortcombo.
Die Abfrage bei ortcombo liefert viele gültige Werte (keine leerstrings)
und "Testort" ist richtig geschrieben und in der Abfrage enthalten.
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you want to add, delete, or rename functions or slots, use
** Qt Designer to update this file, preserving your code.
**
** You should not define a constructor or destructor in this file.
** Instead, write your code in functions called init() and destroy().
** These will automatically be called by the form's constructor and
** destructor.
*****************************************************************************/
void wfeingabe::init()
{
// Datenbankverbindungen setzen
if ( ! createConnections() )
QMessageBox::information( this, "Datenbank","wfeingabe-fehler" );
// Settings laden
loadSettings();
// Voreinstellungen von Datum/Uhrzeit
QDate heute = QDate::currentDate();
dateEdit1 -> setDate(heute);
QTime n( 15, 0, 0 );
timeEdit1 -> setTime(n);
// Orte in die ComboBox laden
QSqlQuery query( "SELECT ort FROM `Orte` WHERE zeigen=1" );
while ( query.next() )
{ortcombo->insertItem( query.value( 0 ).toString());}
ortcombo->setCurrentText ( "Testort" );
ortcombo->setEditable(FALSE);
// Ortsabkürzungen in ComboBox laden
QSqlQuery query2( "SELECT * FROM `Ortsabkürzungen`" );
while ( query2.next() )
{abkcombo->insertItem( query2.value( 0 ).toString());}
abkcombo->insertItem("");
abkcombo->setCurrentText ( "" );
abkcombo->setEditable(FALSE);
// Nummer der Exportdatei ermitteln
QString sql3="SELECT mldg FROM `funde` GROUP BY Mldg ORDER BY Mldg DESC";
QSqlQuery query3(sql3);
query3.first() ;
exportnummer -> setText(query3.value( 0 ).toString());
}
void wfeingabe::destroy()
{
saveSettings() ;
}
bool wfeingabe::createConnections()
{
// create the default database connection
QSqlDatabase *defaultDB = QSqlDatabase::addDatabase( "QMYSQL3" );
if ( ! defaultDB ) {
qWarning( "Failed to connect to driver" );
return FALSE;
}
defaultDB->setDatabaseName( "XXXXXX" );
defaultDB->setUserName( "XXXXXXX" );
defaultDB->setPassword( "XXXXXXX" );
defaultDB->setHostName( "XXXXXXX" );
if ( ! defaultDB->open() ) {
qWarning( "Failed to open database: " +
defaultDB->lastError().driverText() );
qWarning( defaultDB->lastError().databaseText() );
return FALSE;
}
return TRUE;
}
void wfeingabe::loadSettings()
{
QSettings settings;
settings.insertSearchPath( QSettings::Unix, "/home/user/Documents/db3" );
settings.beginGroup("/AAA/wfeingabe");
int WindowWidth = settings.readNumEntry( "/WindowWidth", 550 );
int WindowHeight = settings.readNumEntry( "/WindowHeight", 500 );
int WindowX = settings.readNumEntry( "/WindowX", 0 );
int WindowY = settings.readNumEntry( "/WindowY", 0 );
move( WindowX, WindowY);
resize( WindowWidth,WindowHeight );
settings.endGroup();
}
void wfeingabe::saveSettings()
{
QSettings settings;
settings.insertSearchPath( QSettings::Unix, "/home/user/Documents/db3" );
settings.beginGroup("/AAA/wfeingabe");
settings.writeEntry( "/WindowWidth", width() );
settings.writeEntry( "/WindowHeight", height() );
settings.writeEntry( "/WindowX", x() );
settings.writeEntry( "/WindowY", y() );
//settings.writeEntry("/test",5);
settings.endGroup();
}
// alle Orte anzeigen
void wfeingabe::alleanzeigen()
{
ortcombo->clear();
QSqlQuery query( "SELECT ort FROM `Orte`" );
while ( query.next() )
ortcombo->insertItem( query.value( 0 ).toString());
}
// Eine Ortsabkürzung wurde gewählt
void wfeingabe::neu(const QString &te)
{
QString sql= "SELECT * FROM `Ortsabkürzungen` where Bezeichnung = '";
sql = sql+te+"'";
QSqlQuery abfrage;
abfrage.exec(sql);
while (abfrage.next())
{
bemerkungg-> setText(abfrage.value(2).toString());
bemerkungwf->setText(abfrage.value(2).toString());
ortcombo -> setCurrentText(abfrage.value(1).toString());
}
abkcombo->hide();
textLabel29->hide();
}
// beide bemerkungen sind gleich
void wfeingabe::beidegleich()
{
if (bemerkungg->text() == "")
{bemerkungg->setText( bemerkungwf->text());}
else
{bemerkungwf->setText( bemerkungg->text());}
}
// Ort ist gewählt
// Ortsabkürzungen wird ausgeblendet
void wfeingabe::newSlot( int t )
{
abkcombo->hide();
textLabel29->hide();
t++; //Compiler-Warnungen ausblenden
}
// Beginn der Eingabe
void wfeingabe::startSlot()
{
// Setzen der Variablen
QString xort = ortcombo->currentText();
QString xname = nameX->text();
QString xdatei = exportnummer->text();
QString xbz = bemerkungg->text();
QString xbw = bemerkungwf->text();
// Sonderbehandlung datum
QString xxjahr( dateEdit1->date().toString( "yyyy" ) );
QString xxmonat( dateEdit1->date().toString( "MM" ) );
QString xxtag( dateEdit1->date().toString( "dd" ) );
// default '2004-12-12',
QString xdatum = "default '" + xxjahr + "-" + xxmonat + "-" + xxtag + "',";
// Sonderbehandlung Zeit
QString xxstunde = timeEdit1->time().toString("hh");
QString xxminute = timeEdit1->time().toString("mm");
// default '07:00:07',
QString xtime = "default '" + xxstunde + ":" + xxminute + ":00',";
// alte Tabellen löschen
QSqlQuery query4( "DROP TABLE IF EXISTS `funde_tmp`,`ringe_tmp`,`art_tmp`,`zählung_tmp`" );
// neue Tabellen erstellen
QSqlQuery ab2;
QString sql ="CREATE TABLE `funde_tmp` (";
sql=sql+"`ID` int(11) NOT NULL auto_increment,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`farbe` char(10) default '',";
sql=sql+"`Vogelnr` char(25) default NULL,";
sql=sql+"`Beoort` char(50) default '" + xort + "',";
sql=sql+"`Datum` date " + xdatum ;
sql=sql+"`Uhrzeit` time " + xtime ;
sql=sql+"`Beobachter` char(25) default '" + xname + "',";
sql=sql+"`Beobachtung` char(30) default 'aus Entfernung abgelesen',";
sql=sql+"`Gruppengröße` char(30) default NULL,";
sql=sql+"`Bemerkungen` char(255) default '" + xbw + "',";
sql=sql+"`sicher` enum('ja','nein') default 'ja',";
sql=sql+"`Meldung` char(2) default 'P',";
sql=sql+"`gesendet` enum('ja','nein') default 'nein',";
sql=sql+"`Mldg` smallint(3) unsigned default '" + xdatei + "')";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
sql="CREATE TABLE `ringe_tmp` (";
sql=sql+"`ID` int(11) default NULL,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`Sorte` int(11) default NULL,";
sql=sql+"`Art` char(19) default NULL,";
sql=sql+"`Ring` char(10) default NULL,";
sql=sql+"`Bemerkung` char(250) default NULL,";
sql=sql+"`lokal` char(250) default NULL,";
sql=sql+"`Funktion` char(250) default NULL,";
sql=sql+"`FR` char(10) default NULL,";
sql=sql+"`MR` char(10) default NULL,";
sql=sql+"`Auto` tinyint(4) default NULL,";
sql=sql+"`lastOrt` char(250) default NULL,";
sql=sql+"`lastTag` char(250) default NULL,";
sql=sql+"`Aufzählung` char(250) default NULL,";
sql=sql+"`Level` char(50) default NULL,";
sql=sql+"`anzahl` char(5) default NULL,";
sql=sql+"`Geburt` char(100) default NULL )";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
sql="CREATE TABLE `art_tmp` (";
sql=sql+"`ID` int(11) NOT NULL auto_increment,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`Sorte` int(11) default NULL,";
sql=sql+"`Art` varchar(19) default NULL,";
sql=sql+"`Anzahl` varchar(10) default NULL,";
sql=sql+"`juv` varchar(50) default NULL,";
sql=sql+"`Ez` varchar(30) default NULL,";
sql=sql+"`Mz` varchar(30) default NULL,";
sql=sql+"`ringe` varchar(10) default NULL,";
sql=sql+"`string` longblob,";
sql=sql+"`auto` longblob,";
sql=sql+"`level` varchar(10) default NULL,";
sql=sql+"`Zählungsnummer` smallint(6) default NULL )";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
sql="CREATE TABLE `zählung_tmp` (";
sql=sql+"`ID` int(11) NOT NULL auto_increment,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`Kennummer` int(11) default NULL,";
sql=sql+"`Ort` char(50) default '" + xort + "',";
sql=sql+"`Datum` date " + xdatum ;
sql=sql+"`Uhrzeit` time " + xtime ;
sql=sql+"`Bemerkungen` char(100) default '" + xbz + "',";
sql=sql+"`Beobachter` char(30) default '" + xname + "',";
sql=sql+"`KG` smallint(6) default NULL,";
sql=sql+"`X` smallint(6) default NULL,";
sql=sql+"`GG` smallint(6) default NULL,";
sql=sql+"`NG` smallint(6) default NULL,";
sql=sql+"`SG` smallint(6) default NULL,";
sql=sql+"`HöG` smallint(6) default NULL,";
sql=sql+"`HS` smallint(6) default NULL,";
sql=sql+"`TS` smallint(6) default NULL,";
sql=sql+"`HausG` smallint(6) default NULL,";
sql=sql+"`BG` smallint(6) default NULL,";
sql=sql+"`NilG` smallint(6) default NULL,";
sql=sql+"`Art1` char(30) default NULL,";
sql=sql+"`nArt1` smallint(6) default NULL,";
sql=sql+"`Art2` char(30) default NULL,";
sql=sql+"`nArt2` smallint(6) default NULL,";
sql=sql+"`Art3` char(30) default NULL,";
sql=sql+"`nArt3` smallint(6) default NULL )";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
accept();
}
>Diese Fehlermeldung ist eine Fehlermeldung, dass du auf einen Index 0 >zugreifst, den es nicht gibt.
>Hast du evtl. einmal das ganze Programm, dass du posten kannst. Es sieht >nicht so aus, als ob in diesem Code Fragment zu dem Fehler kommt. Und >das Programm macht wirklich genau das was du willst!?
>Ich sage mehr dazu, wenn ich den ganzen Code gesehen habe.
Also gut, hier ist der gesamte Code.
Die Fehlermeldung kommt beim Start des Dialoges.
Es muss eigentlich die init()-Funktion sein.
Ich möchte noch darauf hinweisen das ich Anfänger bin
und im Moment nur heilfroh das der Code funktioniert.
Für Verbesserungsvorschläge bin ich jederzeit offen.
Insbesondere wie man "Dinge" wieder löscht.
Ich muss mit vielen Abfragen arbeiten die wahrscheinlich
irgendwo viel Speicherplatz fressen.
Wie kann man die nach Gebrauch wieder löschen?
Noch eine kleine Info: Es gibt eine zweite Combobox:abkcombo
Die bringt keinen Fehler, wird aber genauso befüllt wie ortcombo.
Die Abfrage bei ortcombo liefert viele gültige Werte (keine leerstrings)
und "Testort" ist richtig geschrieben und in der Abfrage enthalten.
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you want to add, delete, or rename functions or slots, use
** Qt Designer to update this file, preserving your code.
**
** You should not define a constructor or destructor in this file.
** Instead, write your code in functions called init() and destroy().
** These will automatically be called by the form's constructor and
** destructor.
*****************************************************************************/
void wfeingabe::init()
{
// Datenbankverbindungen setzen
if ( ! createConnections() )
QMessageBox::information( this, "Datenbank","wfeingabe-fehler" );
// Settings laden
loadSettings();
// Voreinstellungen von Datum/Uhrzeit
QDate heute = QDate::currentDate();
dateEdit1 -> setDate(heute);
QTime n( 15, 0, 0 );
timeEdit1 -> setTime(n);
// Orte in die ComboBox laden
QSqlQuery query( "SELECT ort FROM `Orte` WHERE zeigen=1" );
while ( query.next() )
{ortcombo->insertItem( query.value( 0 ).toString());}
ortcombo->setCurrentText ( "Testort" );
ortcombo->setEditable(FALSE);
// Ortsabkürzungen in ComboBox laden
QSqlQuery query2( "SELECT * FROM `Ortsabkürzungen`" );
while ( query2.next() )
{abkcombo->insertItem( query2.value( 0 ).toString());}
abkcombo->insertItem("");
abkcombo->setCurrentText ( "" );
abkcombo->setEditable(FALSE);
// Nummer der Exportdatei ermitteln
QString sql3="SELECT mldg FROM `funde` GROUP BY Mldg ORDER BY Mldg DESC";
QSqlQuery query3(sql3);
query3.first() ;
exportnummer -> setText(query3.value( 0 ).toString());
}
void wfeingabe::destroy()
{
saveSettings() ;
}
bool wfeingabe::createConnections()
{
// create the default database connection
QSqlDatabase *defaultDB = QSqlDatabase::addDatabase( "QMYSQL3" );
if ( ! defaultDB ) {
qWarning( "Failed to connect to driver" );
return FALSE;
}
defaultDB->setDatabaseName( "XXXXXX" );
defaultDB->setUserName( "XXXXXXX" );
defaultDB->setPassword( "XXXXXXX" );
defaultDB->setHostName( "XXXXXXX" );
if ( ! defaultDB->open() ) {
qWarning( "Failed to open database: " +
defaultDB->lastError().driverText() );
qWarning( defaultDB->lastError().databaseText() );
return FALSE;
}
return TRUE;
}
void wfeingabe::loadSettings()
{
QSettings settings;
settings.insertSearchPath( QSettings::Unix, "/home/user/Documents/db3" );
settings.beginGroup("/AAA/wfeingabe");
int WindowWidth = settings.readNumEntry( "/WindowWidth", 550 );
int WindowHeight = settings.readNumEntry( "/WindowHeight", 500 );
int WindowX = settings.readNumEntry( "/WindowX", 0 );
int WindowY = settings.readNumEntry( "/WindowY", 0 );
move( WindowX, WindowY);
resize( WindowWidth,WindowHeight );
settings.endGroup();
}
void wfeingabe::saveSettings()
{
QSettings settings;
settings.insertSearchPath( QSettings::Unix, "/home/user/Documents/db3" );
settings.beginGroup("/AAA/wfeingabe");
settings.writeEntry( "/WindowWidth", width() );
settings.writeEntry( "/WindowHeight", height() );
settings.writeEntry( "/WindowX", x() );
settings.writeEntry( "/WindowY", y() );
//settings.writeEntry("/test",5);
settings.endGroup();
}
// alle Orte anzeigen
void wfeingabe::alleanzeigen()
{
ortcombo->clear();
QSqlQuery query( "SELECT ort FROM `Orte`" );
while ( query.next() )
ortcombo->insertItem( query.value( 0 ).toString());
}
// Eine Ortsabkürzung wurde gewählt
void wfeingabe::neu(const QString &te)
{
QString sql= "SELECT * FROM `Ortsabkürzungen` where Bezeichnung = '";
sql = sql+te+"'";
QSqlQuery abfrage;
abfrage.exec(sql);
while (abfrage.next())
{
bemerkungg-> setText(abfrage.value(2).toString());
bemerkungwf->setText(abfrage.value(2).toString());
ortcombo -> setCurrentText(abfrage.value(1).toString());
}
abkcombo->hide();
textLabel29->hide();
}
// beide bemerkungen sind gleich
void wfeingabe::beidegleich()
{
if (bemerkungg->text() == "")
{bemerkungg->setText( bemerkungwf->text());}
else
{bemerkungwf->setText( bemerkungg->text());}
}
// Ort ist gewählt
// Ortsabkürzungen wird ausgeblendet
void wfeingabe::newSlot( int t )
{
abkcombo->hide();
textLabel29->hide();
t++; //Compiler-Warnungen ausblenden
}
// Beginn der Eingabe
void wfeingabe::startSlot()
{
// Setzen der Variablen
QString xort = ortcombo->currentText();
QString xname = nameX->text();
QString xdatei = exportnummer->text();
QString xbz = bemerkungg->text();
QString xbw = bemerkungwf->text();
// Sonderbehandlung datum
QString xxjahr( dateEdit1->date().toString( "yyyy" ) );
QString xxmonat( dateEdit1->date().toString( "MM" ) );
QString xxtag( dateEdit1->date().toString( "dd" ) );
// default '2004-12-12',
QString xdatum = "default '" + xxjahr + "-" + xxmonat + "-" + xxtag + "',";
// Sonderbehandlung Zeit
QString xxstunde = timeEdit1->time().toString("hh");
QString xxminute = timeEdit1->time().toString("mm");
// default '07:00:07',
QString xtime = "default '" + xxstunde + ":" + xxminute + ":00',";
// alte Tabellen löschen
QSqlQuery query4( "DROP TABLE IF EXISTS `funde_tmp`,`ringe_tmp`,`art_tmp`,`zählung_tmp`" );
// neue Tabellen erstellen
QSqlQuery ab2;
QString sql ="CREATE TABLE `funde_tmp` (";
sql=sql+"`ID` int(11) NOT NULL auto_increment,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`farbe` char(10) default '',";
sql=sql+"`Vogelnr` char(25) default NULL,";
sql=sql+"`Beoort` char(50) default '" + xort + "',";
sql=sql+"`Datum` date " + xdatum ;
sql=sql+"`Uhrzeit` time " + xtime ;
sql=sql+"`Beobachter` char(25) default '" + xname + "',";
sql=sql+"`Beobachtung` char(30) default 'aus Entfernung abgelesen',";
sql=sql+"`Gruppengröße` char(30) default NULL,";
sql=sql+"`Bemerkungen` char(255) default '" + xbw + "',";
sql=sql+"`sicher` enum('ja','nein') default 'ja',";
sql=sql+"`Meldung` char(2) default 'P',";
sql=sql+"`gesendet` enum('ja','nein') default 'nein',";
sql=sql+"`Mldg` smallint(3) unsigned default '" + xdatei + "')";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
sql="CREATE TABLE `ringe_tmp` (";
sql=sql+"`ID` int(11) default NULL,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`Sorte` int(11) default NULL,";
sql=sql+"`Art` char(19) default NULL,";
sql=sql+"`Ring` char(10) default NULL,";
sql=sql+"`Bemerkung` char(250) default NULL,";
sql=sql+"`lokal` char(250) default NULL,";
sql=sql+"`Funktion` char(250) default NULL,";
sql=sql+"`FR` char(10) default NULL,";
sql=sql+"`MR` char(10) default NULL,";
sql=sql+"`Auto` tinyint(4) default NULL,";
sql=sql+"`lastOrt` char(250) default NULL,";
sql=sql+"`lastTag` char(250) default NULL,";
sql=sql+"`Aufzählung` char(250) default NULL,";
sql=sql+"`Level` char(50) default NULL,";
sql=sql+"`anzahl` char(5) default NULL,";
sql=sql+"`Geburt` char(100) default NULL )";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
sql="CREATE TABLE `art_tmp` (";
sql=sql+"`ID` int(11) NOT NULL auto_increment,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`Sorte` int(11) default NULL,";
sql=sql+"`Art` varchar(19) default NULL,";
sql=sql+"`Anzahl` varchar(10) default NULL,";
sql=sql+"`juv` varchar(50) default NULL,";
sql=sql+"`Ez` varchar(30) default NULL,";
sql=sql+"`Mz` varchar(30) default NULL,";
sql=sql+"`ringe` varchar(10) default NULL,";
sql=sql+"`string` longblob,";
sql=sql+"`auto` longblob,";
sql=sql+"`level` varchar(10) default NULL,";
sql=sql+"`Zählungsnummer` smallint(6) default NULL )";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
sql="CREATE TABLE `zählung_tmp` (";
sql=sql+"`ID` int(11) NOT NULL auto_increment,";
sql=sql+"PRIMARY KEY (`ID`),";
sql=sql+"`Kennummer` int(11) default NULL,";
sql=sql+"`Ort` char(50) default '" + xort + "',";
sql=sql+"`Datum` date " + xdatum ;
sql=sql+"`Uhrzeit` time " + xtime ;
sql=sql+"`Bemerkungen` char(100) default '" + xbz + "',";
sql=sql+"`Beobachter` char(30) default '" + xname + "',";
sql=sql+"`KG` smallint(6) default NULL,";
sql=sql+"`X` smallint(6) default NULL,";
sql=sql+"`GG` smallint(6) default NULL,";
sql=sql+"`NG` smallint(6) default NULL,";
sql=sql+"`SG` smallint(6) default NULL,";
sql=sql+"`HöG` smallint(6) default NULL,";
sql=sql+"`HS` smallint(6) default NULL,";
sql=sql+"`TS` smallint(6) default NULL,";
sql=sql+"`HausG` smallint(6) default NULL,";
sql=sql+"`BG` smallint(6) default NULL,";
sql=sql+"`NilG` smallint(6) default NULL,";
sql=sql+"`Art1` char(30) default NULL,";
sql=sql+"`nArt1` smallint(6) default NULL,";
sql=sql+"`Art2` char(30) default NULL,";
sql=sql+"`nArt2` smallint(6) default NULL,";
sql=sql+"`Art3` char(30) default NULL,";
sql=sql+"`nArt3` smallint(6) default NULL )";
//sql=sql+") ENGINE=MyISAM DEFAULT CHARSET=latin1";
ab2.exec(sql);
accept();
}
QComboBox::setCurrentItem: (ortcombo) Index 0 out of range
Hallo
>> Ich sage mehr dazu, wenn ich den ganzen Code gesehen habe.
????
>> Ich sage mehr dazu, wenn ich den ganzen Code gesehen habe.
????
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Sag mal soll das nun heißen, dass ich verpflichtet bin oder was?
Ich bin nicht dein Support!
Erstmal generell ein paar Dinge, die man sich für die Zukunft einmal ansehen sollte:
Du kannst innerhalb eines Queries die fehlenden Werte als ? darstellung dann einfach dazu binden und nicht so umständlich immer sql = sql + tr + "'";
Was mich gleich zum nächsten bringt:
Lösung für dein Value out of range:
Der Code wo du: DeineComboBox -> setCurrentItem( ortcombo ) setzt fehlt. In diesem gezeigten Code ist die Warnung nicht enthalten!
Achja, und Rechnung kommt.
Ich bin nicht dein Support!
Erstmal generell ein paar Dinge, die man sich für die Zukunft einmal ansehen sollte:
Code: Alles auswählen
QSqlQuery query;
query.prepare( "SELECT ort FROM Orte WHERE zeigen=?" );
query.bindValue( 0, 1 );
query.exec();
Was mich gleich zum nächsten bringt:
Code: Alles auswählen
sql += tr + "'"; // Ist das gleiche wie:
sql = sql + tr + "'"; // oder
sql.append( tr + "'" );
Der Code wo du: DeineComboBox -> setCurrentItem( ortcombo ) setzt fehlt. In diesem gezeigten Code ist die Warnung nicht enthalten!
Achja, und Rechnung kommt.
Hallo
Und danke für die Antwort.
>>Sag mal soll das nun heißen, dass ich verpflichtet bin oder was?
Nein, mit Sicherheit nicht. Nur wenn ich schreibe das ich mich
wieder melde, dann würde ich mich auch wieder irgendwann
wieder melden. Wie lang "irgendwann" nun wirklich ist, ist natürlich
je nach Mensch unterschiedlich. Ich jedenfalls habe mich sehr gefreut
über deine erste Antwort, sie bedeutete für mich das ich wieder eins
meiner Probleme wohl bald lösen kann. Und im laufe der Woche
rutschte "meine" Nachricht dann immer weiter nach unten.
Und es keimte der Verdacht das mein Code so katastrophal schlecht
ist das sich jedes weitere Wort von selbst verbietet.
Deine Vorschläge werde ich einarbeiten.
tr steht bei dir für einen normalen QString?
(hat also nichts mit der QT-Funktion für Übersetzungen zu tun?)
>Lösung für dein Value out of range:
>Der Code wo du: DeineComboBox -> setCurrentItem( ortcombo ) setzt >fehlt. In diesem gezeigten Code ist die Warnung nicht enthalten!
Wie gesagt ich bin Anfänger. Das was ich gepostet habe ist
alles was ich von Hand geschrieben habe. Werde mal suchen
ob ich noch was finde. Vielleicht hat der Designer das in der
Headerdatei versteckt.
>Achja, und Rechnung kommt.
Gerne. Wir sollten dann aber auch gleich über einen
Mengenrabatt sprechen.
)
mfg
Und danke für die Antwort.
>>Sag mal soll das nun heißen, dass ich verpflichtet bin oder was?
Nein, mit Sicherheit nicht. Nur wenn ich schreibe das ich mich
wieder melde, dann würde ich mich auch wieder irgendwann
wieder melden. Wie lang "irgendwann" nun wirklich ist, ist natürlich
je nach Mensch unterschiedlich. Ich jedenfalls habe mich sehr gefreut
über deine erste Antwort, sie bedeutete für mich das ich wieder eins
meiner Probleme wohl bald lösen kann. Und im laufe der Woche
rutschte "meine" Nachricht dann immer weiter nach unten.
Und es keimte der Verdacht das mein Code so katastrophal schlecht
ist das sich jedes weitere Wort von selbst verbietet.
Deine Vorschläge werde ich einarbeiten.
tr steht bei dir für einen normalen QString?
(hat also nichts mit der QT-Funktion für Übersetzungen zu tun?)
>Lösung für dein Value out of range:
>Der Code wo du: DeineComboBox -> setCurrentItem( ortcombo ) setzt >fehlt. In diesem gezeigten Code ist die Warnung nicht enthalten!
Wie gesagt ich bin Anfänger. Das was ich gepostet habe ist
alles was ich von Hand geschrieben habe. Werde mal suchen
ob ich noch was finde. Vielleicht hat der Designer das in der
Headerdatei versteckt.
>Achja, und Rechnung kommt.
Gerne. Wir sollten dann aber auch gleich über einen
Mengenrabatt sprechen.
mfg
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Das Problem bei Code ist immer, das man sich mit der Sache befassen muß und ich hatte noch nicht die Zeit dazu. Mit deinem erneuten Post habe ich mich dann einfach dazu gezwungen.eule3 hat geschrieben:Nein, mit Sicherheit nicht. Nur wenn ich schreibe das ich mich wieder melde, dann würde ich mich auch wieder irgendwann
wieder melden. Wie lang "irgendwann" nun wirklich ist, ist natürlich
je nach Mensch unterschiedlich. Ich jedenfalls habe mich sehr gefreut
über deine erste Antwort, sie bedeutete für mich das ich wieder eins
meiner Probleme wohl bald lösen kann. Und im laufe der Woche
rutschte "meine" Nachricht dann immer weiter nach unten.
Und es keimte der Verdacht das mein Code so katastrophal schlecht
ist das sich jedes weitere Wort von selbst verbietet.
Richtig.eule3 hat geschrieben:Deine Vorschläge werde ich einarbeiten.
tr steht bei dir für einen normalen QString?
(hat also nichts mit der QT-Funktion für Übersetzungen zu tun?)
Mh, ehr ungewöhnlich, außer du hast das im Designer definiert. Es befindet sich dann NUR in der Source Datei.eule3 hat geschrieben:Wie gesagt ich bin Anfänger. Das was ich gepostet habe ist alles was ich von Hand geschrieben habe. Werde mal suchen
ob ich noch was finde. Vielleicht hat der Designer das in der
Headerdatei versteckt.
hallo
Im Unterverzeichnis .ui gibt es eine wfeingabe.cpp.
Hier findet sich folgendes:
layout26 = new QVBoxLayout( 0, 1, 1, "layout26");
textLabel12 = new QLabel( privateLayoutWidget, "textLabel12" );
layout26->addWidget( textLabel12 );
ortcombo = new QComboBox( FALSE, privateLayoutWidget, "ortcombo" );
ortcombo->setEditable( TRUE );
layout26->addWidget( ortcombo );
layout34->addLayout( layout26 );
QWidget* privateLayoutWidget_2 = new QWidget( this, "layout39" );
privateLayoutWidget_2->setGeometry( QRect( 30, 180, 580, 44 ) );
layout39 = new QHBoxLayout( privateLayoutWidget_2, 1, 1, "layout39");
Mehr habe ich nicht gefunden.
Hoffentlich reicht das.
mfg
Im Unterverzeichnis .ui gibt es eine wfeingabe.cpp.
Hier findet sich folgendes:
layout26 = new QVBoxLayout( 0, 1, 1, "layout26");
textLabel12 = new QLabel( privateLayoutWidget, "textLabel12" );
layout26->addWidget( textLabel12 );
ortcombo = new QComboBox( FALSE, privateLayoutWidget, "ortcombo" );
ortcombo->setEditable( TRUE );
layout26->addWidget( ortcombo );
layout34->addLayout( layout26 );
QWidget* privateLayoutWidget_2 = new QWidget( this, "layout39" );
privateLayoutWidget_2->setGeometry( QRect( 30, 180, 580, 44 ) );
layout39 = new QHBoxLayout( privateLayoutWidget_2, 1, 1, "layout39");
Mehr habe ich nicht gefunden.
Hoffentlich reicht das.
mfg