VC连接MySQL

来源:互联网 发布:apache官网 日本 编辑:程序博客网 时间:2024/05/25 16:38

安装完MySQL之后,将安装目录中的include目录下的libmysql.lib文件拷到VS2008安装目录中的VC\lib\下,然后在 项目-选项-c/c++-常规 中的附加包含目录以及 链接器-常规 中的附加库目录中加入“c:\MySQL\include\”,并且在 链接器-输入 中的附加依赖项内添加“libmysql.lib,这样即可使编译器找到mysql.h头文件,并可在程序中使用c语言的mysql API来操作数据库。(如果MySQL安装目录中无include目录,可到MySQL官网下载并安装MySQL connector for C,并修改include目录路径)


01#include <Windows.h>
02#include <stdio.h>
03#include <stdlib.h>
04#include <string.h>
05#include <mysql.h>
06#include <iostream>
07using namespace std;
08 
09int main()
10{
11    const char user[] = "root";         //username
12    const char pswd[] = "root";         //password
13    const char host[] = "localhost";    //or"127.0.0.1"
14    const char table[] = "test";        //database
15    unsigned int port = 3306;           //server port       
16    MYSQL myCont;
17    MYSQL_RES *result;
18    MYSQL_ROW sql_row;
19    MYSQL_FIELD *fd;
20    char column[32][32];
21    int res;
22    mysql_init(&myCont);
23    if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0))
24    {
25        cout<<"connect succeed!"<<endl;
26        mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
27        res=mysql_query(&myCont,"select * from samples");//查询
28        if(!res)
29        {
30            result=mysql_store_result(&myCont);//保存查询到的数据到result
31            if(result)
32            {
33                int i,j;
34                cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;
35                for(i=0;fd=mysql_fetch_field(result);i++)//获取列名
36                {
37                    strcpy(column[i],fd->name);
38                }
39                j=mysql_num_fields(result);
40                for(i=0;i<j;i++)
41                {
42                    printf("%s\t",column[i]);
43                }
44                printf("\n");
45                while(sql_row=mysql_fetch_row(result))//获取具体的数据
46                {
47                    for(i=0;i<j;i++)
48                    {
49                        printf("%s\n",sql_row[i]);
50                    }
51                    printf("\n");
52                }
53            }
54        }
55        else
56        {
57            cout<<"query sql failed!"<<endl;
58        }
59    }
60    else
61    {
62        cout<<"connect failed!"<<endl;
63    }
64    if(result!=NULL) mysql_free_result(result);//释放结果资源
65    mysql_close(&myCont);//断开连接
66    return 0;
67}

[代码] [C/C++]代码

01测试环境:MySQL 5.1.35
02安装MySQL之后,打开MySQL Command Line Client,输入root密码,即可操作数据库
03 
04//查看MySQL版本
05mysql> select version();
06 
07//显示所有数据库
08mysql> show databases;
09 
10//使用数据库
11mysql> use database_name;
12 
13//显示所有数据表
14mysql> show tables;
15 
16//显示数据表结构
17mysql> describe table_name;
18 
19//创建数据库
20mysql> create database database_name;
21 
22//删除数据库
23mysql> drop database database_name;
24 
25//创建数据表
26mysql> use database_name;
27mysql> create table table_name (字段名 VARCHAR(20), 字段名 CHAR(1));
28 
29//删除数据表
30mysql> drop table table_name;
31 
32//查询记录
33mysql> select * from table_name;
34 
35//导入.sql文件
36mysql> use database_name;
37mysql> source c:/mysql.sql
38 
39//修改root密码
40mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
41 
42//退出
43mysql> quit
本文转自:http://my.oschina.net/u/156363/blog/62069
0 0
原创粉丝点击