Seite 1 von 1

[MySQL] SHOW CREATE TABLE `table`

Verfasst: 19. Juli 2010 22:48
von Gartenzwerg
Hallo,

ich habe erfolgreich diverse SQL-Befehle mittels Qt4 ausführen können.
Jedoch scheint folgender MySQL-Befehl nicht zu funktionieren.

Code: Alles auswählen

QSqlDatabase srcDB = QSqlDatabase::database();

DBQuery srcQuery(srcDB);

srcQuery.prepare(QString("SHOW CREATE TABLE %1").arg(sourceTableName));

if (!srcQuery.exec())
    return false;

while(srcQuery.next()) {
    qDebug() << "0:" << srcQuery.value(0).toString() << "1:"
                  << srcQuery.value(1).toString();
}
Wie ist das zu erklären?

MfG
Gartenzwerg

Verfasst: 19. Juli 2010 23:24
von padreigh
Was soll denn "SHOW CREATE TABLE <tablename>;" deiner Meinung nach bewirken?

Verfasst: 20. Juli 2010 07:14
von Gartenzwerg
Mein Ziel ist es eine MySQL-Datenbank mittels Qt in eine SQLite-Datenbank zu konvertieren. Um die Tabellenstruktur zu erhalten wollte ich den MySQL-Befehl "SHOW CREATE TABLE <tabellename>;" einsetzen. Gibt es bessere Möglichkeiten?

MfG
Gartenzwerg

Verfasst: 20. Juli 2010 07:30
von Christian81
QSqlQuery hat auch ein paar Funktionen zur Fehlerausgabe...

Verfasst: 20. Juli 2010 09:03
von upsala
Und da dürfte drinnen stehen, daß prepare und SHOW sich nicht vertragen.

Verfasst: 20. Juli 2010 10:27
von Gartenzwerg
@Christian81: da srcQuery.exec() == true, dachte ich, dass es korrekt ausgeführt wird (QSqlQuery::lastError() ist auch leer).

@upsala: korrekt, das ist die Ursache , danke dir

MfG

Sebastian