2014-09-20 266 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