2014-09-20 91 views
0

所以。C++ <mysql/mysql.h>如何包含它?

#include <mysql/mysql.h> 
#include <stdio.h> 
int main(){ 
    MYSQL mysql; 
    MYSQL_ROW row; 
    MYSQL_RES *result; 

    unsigned int num_fields; 
    unsigned int i; 
    mysql_init(&mysql); 
    if (!mysql_real_connect(&mysql,"localhost","kevin","****","my_db",0,NULL,0)) 
    { 
    fprintf(stderr, "Failed to connect to database: Error: %s\n", 
     mysql_error(&mysql)); 
    } 
    else { 
    if(mysql_query(&mysql, "SELECT * FROM my_table")); 
    //here goes the error message <!-- s:o --><img src=\"{SMILIES_PATH}/icon_surprised.gif\" alt=\":o\" title=\"Surprised\"><!-- s:o -->) 
    else { 
    result = mysql_store_result(&mysql); 
    num_fields = mysql_num_fields(result); 
    while ((row = mysql_fetch_row(result))) 
    { 
     unsigned long *lengths; 
     lengths = mysql_fetch_lengths(result); 
     for(i = 0; i < num_fields; i++) 
     { 
      printf("[%.*s] \t", (int) lengths[i], row[i] ? row[i] : "NULL"); 
     } 
     printf("\n"); 
    } 
    } 
    } 
    return 0; 
} 

這是我的代碼。但我把它不斷給我這個錯誤:

1>------ Build started: Project: changedatamysql, Configuration: Release Win32 ------ 
1>Build started 20.9.2014 16:51:51. 
1>InitializeBuildStatus: 
1> Touching "Release\changedatamysql.unsuccessfulbuild". 
1>ClCompile: 
1> All outputs are up-to-date. 
1> changedatamysql.cpp 
1>changedatamysql.cpp(1): warning C4627: '#include <mysql/mysql.h>': skipped when looking for precompiled header use 
1>   Add directive to 'StdAfx.h' or rebuild precompiled header 
1>changedatamysql.cpp(37): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source? 
1> 
1>Build FAILED. 
1> 
1>Time Elapsed 00:00:00.52 

==========生成:0成功,1失敗,0上最新,0已跳過======= ===

那麼這是怎麼回事? 即時通訊我試圖讓這個程序將數據發送到我的mysql數據庫表。 所以我可以從我的本地主機/索引讀取它好嗎? 教程,任何幫助我的東西都是值得歡迎的。 預先感謝您!

回答

0

你的項目是由建立與預編譯頭,這意味着一些常見的標題是一種預編譯成一種形式,是更快地閱讀編譯器,節省編譯時間。

然而,有一個警告:該生產線

#include "stdafx.h" 

必須在源文件中的第一個非註釋,非空行。

+0

好的,我在頭文件和#include「stdafx.h」中添加了#includes到int main之前。 - >致命錯誤C1083:無法打開包含文件:'mysql.h':沒有這樣的文件或目錄 1> – Jackdpkevin 2014-09-20 14:04:22

+0

@Jackdpkevin那是因爲你可能沒有設置你的項目設置來告訴編譯器在哪裏找到MySQL頭文件。我自己沒有Visual Studio,所以我不知道它在哪裏完成,您尋找類似「預處理器設置」或類似的東西,應該有一個設置來添加預處理器將查找頭文件的路徑。 – 2014-09-20 14:07:15

+0

謝謝。會這樣做! – Jackdpkevin 2014-09-20 14:08:58