2014-05-04 69 views
0

假設我在mysql中有一個名爲'logs'的表,並且我想要在Qt(5.2 mingw)中獲得此表的創建查詢。 以下是我迄今所做的:無法在Qt中執行「SHOW CREATE TABLE」查詢

QSqlQuery query(connection); 

query.prepare("SHOW CREATE TABLE logs"); 
if(query.exec()) 
{ 
    if(query.next()) 
     query.value(1).toString(); 
} 

執行代碼後,query.exec()返回true,但query.next()返回false。 這個查詢在mysql客戶端(navicat)中成功執行,所以我很確定查詢。

請注意,QSqlQuery :: lastError()給出-1意味着沒有錯誤!

我會感謝您的任何指導或幫助。

+0

不應該是query.value(0); ? –

+0

@DieterLücking:他的問題是未來,而不是價值。 – lpapp

+0

其實它並不重要,因爲query.next()返回false! – Mosi

回答

1

query.next()只適用於執行SELECT聲明。它對於任何其他SQL語句都沒有意義。

+0

感謝並解決這個問題:CREATE TABLE t1 LIKE t2 – Mosi