C/C++中使用Mysql的API连接数据库

/************************************************************************/
/* MYSQL_API使用准备工作:
1.引入mysql文件中的include头文件位置
2.引入mysql->lib->opt中的lib文件位置
3.把mysql->lib->opt->libmysql.dll文件复制到工程debug目录下
/************************************************************************/
#include "iostream"
#include "stdio.h"
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <mysql.h>
#include "String"

//define定义SQL_SELECT or SQL_WRITE

using namespace std;

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


void main()
{
    MYSQL mysql;
    mysql_init(&mysql);

    char *url = "localhost";
    char *username = "root";
    char *password = "root";
    char *dbname = "yyy";
    if (!mysql_real_connect(&mysql,url,username,password,dbname,0,NULL,0))
    {
        printf(  "Error  connecting  to  database:  %s/n",mysql_error(&mysql));
    }
    else
    {
        printf("Connected.../n"); 
    }
#ifdef SQL_SELECT
    char *sql = "select * from cash";

    if (mysql_query(&mysql,sql) != 0)    //mysql_query返回0表示查询成功
    {
        printf("Error  making  query:  %s/n", mysql_error(&mysql)); 
        return;
    }
    else
    {
        printf("[%s]  made.../n",sql);
    }

    MYSQL_RES *rs = mysql_store_result(&mysql);
    if (rs == NULL)
    {
        cout << "select ERROR" << "/n";
        return;
    }
    else
    {
        cout << "ResultSet create successful" << "/n";
    }

    MYSQL_ROW row;
    while (row = mysql_fetch_row(rs))
    {
        for (int i = 0; i<=mysql_num_fields(rs)-1; ++i)
        {
            cout << row[i] << "/t";
        }
        cout <<"/n";
    }
    mysql_free_result(rs);
#endif

#ifdef SQL_WRITE
    string uname = "zz";
    string sql = "delete from cash where username= '" + uname + "' ";
    cout << sql << endl;
    if (mysql_query(&mysql,sql.c_str()) != 0)
    {
        cout << "write oper is fault" << "/n";
        return;
    }
    else
    {
        cout << "operator success" << "/n";
    }
#endif
    mysql_close(&mysql);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值