zoukankan      html  css  js  c++  java
  • c++访问mysql数据库

    首先,把mysql目录下的include放到项目目录下,然后把libmysql.lib和libmysql.dll放到debug目录下。

    #include<mysql.h>之前一定要加上#include<windows.h>否则会产生编译错误。

    #include "stdafx.h"
    #include <Windows.h>
    #include "includemysql.h"
    #include <iostream>
    using namespace std;

    #pragma comment(lib,"libmysql.lib")


    int _tmain(int argc, _TCHAR* argv[])
    {
        MYSQL mysql;
        MYSQL_RES *result=NULL;
        MYSQL_FIELD *fd;
        MYSQL_ROW sql_row;
        int res;


        mysql_init(&mysql);
        if(!mysql_real_connect(&mysql,"172.1.1.1","root","123456","mysql",3306,0,0))
        {
            fprintf(stderr,"Failedtoconnecttodatabase:Error:%s\n",mysql_error(&mysql));
        }else{
            mysql_query(&mysql,"SET NAMES GBK");//设置编码格式,否则在cmd下无法显示中文

            res=mysql_query(&mysql,"select * from help_category");//不等于0表示出错
            
            if(!res){
                result=mysql_store_result(&mysql);
                if(result){
                    int i=0,j;
                    cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;//获取行号
                    
                    j=mysql_num_fields(result);//获取列数
                    for(i=0;i<j;i++)
                    {
                        fd=mysql_fetch_field(result);//获取列名
                        cout<<fd->name<<" ";
                    }
                    cout<<endl;
                    while(sql_row=mysql_fetch_row(result)){//获取每行数据
                        for(i=0;i<j;i++)
                        {
                            if(NULL!=sql_row[i]) //防止数据为空
                            cout<<sql_row[i]<<" ";
                        }
                        cout<<endl;
                    }
                }
            }else{
                    cout<<"query sql failed!"<<endl;
                }
        }
        if(result!=NULL){
            mysql_free_result(result);//释放结果资源
        }

        mysql_close(&mysql);//断开连接
        system("pause");
        return 0;
    }

  • 相关阅读:
    HTML元素解释
    Java命名规范
    HDU 1058 Humble Numbers(DP,数)
    HDU 2845 Beans(DP,最大不连续和)
    HDU 2830 Matrix Swapping II (DP,最大全1矩阵)
    HDU 2870 Largest Submatrix(DP)
    HDU 1421 搬寝室(DP)
    HDU 2844 Coins (组合背包)
    HDU 2577 How to Type(模拟)
    HDU 2159 FATE(二维完全背包)
  • 原文地址:https://www.cnblogs.com/duyy/p/3699117.html
Copyright © 2011-2022 走看看