sqlite> .schema
CREATE TABLE segment (id INTEGER, laengeinnen REAL, laengeaussen REAL,grad INTEG
ER, start BOOLEAN, end BOOLEAN,PRIMARY KEY(id));
CREATE TABLE track (name varchar(20), laengeinnen REAL, laengeaussen REAL,PRIMAR
Y KEY(name));
sqlite> select * from track;
monza|1835.0|2149.0
sqlite> select * from segment;
1|261.666666666667|366.333333333333|60|true|false
2|130.833333333333|183.166666666667|30|false|false
3|261.666666666667|366.333333333333|60|false|false
4|130.833333333333|183.166666666667|30|false|false
5|350.0|350.0|0|false|false
6|350.0|350.0|0|false|false
sqlite>
zu query
Code: Alles auswählen
QSqlQuery query("SELECT name,laengeinnen,laengeaussen FROM track");
while (query.next()) {
setName(query.value(0).toString());
setLaengeInnen(query.value(1).toDouble());
setLaengeAussen(query.value(2).toDouble());
qcout << query.value(0).toString() << " : " << query.value(1).toDouble() << " : " << query.value(2).toDouble() << endl;
}
habe ich geändert trotzdem kommt er nicht in die schleife rein
das gleiche bei query2
Code: Alles auswählen
QSqlQuery query2("SELECT id,laengeinnen,laengeaussen,grad,start,end FROM segment");
Segment *curSeg = firstSegment;
qcout << "hey22" << endl;
while (query2.next()) {
curSeg->setID(query2.value(0).toInt());
curSeg->setLaengeInnen(query2.value(1).toDouble());
curSeg->setLaengeAussen(query2.value(2).toDouble());
curSeg->setGrad(query2.value(3).toInt());
curSeg->setStart(query2.value(4).toBool());
curSeg->setEnd(query2.value(5).toBool());
curSeg = curSeg->getNext();
qcout << "hey2" << endl;
qcout << query2.value(0).toInt() << " : " << query2.value(1).toDouble() << " : " << query.value(2).toDouble() << endl;
}
wie ich mich verbinde
Code: Alles auswählen
QTextStream qcout(stdout);
if (!correctDatabaseFileVersion(nameStrecke)) {
QMessageBox::critical(0, qApp->tr(
"Kann keine Verbindung zur SQL Datenbank aufbaun"), qApp->tr(
"Kann keine verbindung aufbaun.\n"
"Klicken sie auf Abbrechen um zu abbrechen."),
QMessageBox::Cancel);
return false;
}
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(nameStrecke);