VC连接MySQL

安装完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>
07 using namespace std;
08  
09 int 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版本
05 mysql> select version();
06  
07 //显示所有数据库
08 mysql> show databases;
09  
10 //使用数据库
11 mysql> use database_name;
12  
13 //显示所有数据表
14 mysql> show tables;
15  
16 //显示数据表结构
17 mysql> describe table_name;
18  
19 //创建数据库
20 mysql> create database database_name;
21  
22 //删除数据库
23 mysql> drop database database_name;
24  
25 //创建数据表
26 mysql> use database_name;
27 mysql> create table table_name (字段名 VARCHAR(20), 字段名 CHAR(1));
28  
29 //删除数据表
30 mysql> drop table table_name;
31  
32 //查询记录
33 mysql> select * from table_name;
34  
35 //导入.sql文件
36 mysql> use database_name;
37 mysql> source c:/mysql.sql
38  
39 //修改root密码
40 mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
41  
42 //退出
43 mysql> quit

你可能感兴趣的:(VC连接MySQL)