1 安装及配置
注意按照文中提示,配置好环境变量。
2 Navicat的安装配置及使用
https://www.jianshu.com/p/e6665db44328?u_atoken=53c880e0-3ef6-4699-94a8-5eee90d06ccc&u_asession=01zv-YpoyLDoQG82kTsfCQJIpYX6x5Qvukgyys1Gs-B0xBtNmPRcujAWOry1nM5-8_X0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K-1VRM9HiAxQ5KfR3IrKOw49Z8yatDP0qApUVWMROZyFmBkFo3NEHBv0PZUm6pbxQU&u_asig=053rs23s8kYv45len_QlH5spfeONFpUFPUOtBRP0ZyExgV-T0cd6B_PUjN0Z3yK_ieSf3JHvOyvq3vGajaNp01SZsSVbJk6tJQ1STv-87ydkUX8VgTGdjg4G3LvEZJ7cH5_GzKxEO9627BvdXNVTYtf3VchAMZr5qyyEnwJ8RXRxf9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzYSPmD_M8o6XbSg6yop8f0Ax5E46K1gWvSnH2KSvmlTWCs-hAuami3wC_ze-3aLJqu3h9VXwMyh6PgyDIVSG1W_eaSP5-UOfmd94Lowbn7SuPHCVMK-skk_JH_PvuEFgfj06ocwn6vifReSfc2KIb-YGyJ5mR7SVvk0C248_cjWimWspDxyAEEo4kbsryBKb9Q&u_aref=REBUYs01wbjXGFCpg%2BK6dPBOkDs%3D
附上Navicat及JH工具的网盘链接:
链接:https://pan.baidu.com/s/1fSNwHezyp62yeuAYuaAWCg
提取码:uq35
使用 Navicat创建数据表:
创建以下的记录:
3 C++代码访问
vs2015 64位程序!
代码:
// TestMySql.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <winsock.h>
#include "mysql.h"
//
//
//mysql_query() cannot be used for statements that contain binary data;
//you must use mysql_real_query() instead. (Binary data may contain the “” character,
//which mysql_query() interprets as the end of the statement string.)
//In addition, mysql_real_query() is faster than mysql_query() because it does not call strlen() on the statement string.
//
//mysql_query() 不能传二进制BLOB字段,因为二进制信息中的会被误判为语句结束, mysql_real_query() 则可以
int main()
{
MYSQL * con; //数据库对象
MYSQL_RES *res; //res结构体,用于保存查询结果
MYSQL_ROW row;
char tmp[400];
//账户
char dbuser[30] = "root";
//密码
char dbpasswd[30] = "admin";
//数据库服务器地址
char dbip[30] = "localhost";
char dbname[50] = "testdb";//数据库名
char tablename[50] = "testclasstb";//表名
char *query = NULL;
int rt;
unsigned int t;
int count = 0;
//初始化数据库环境
con = mysql_init((MYSQL*)0);
//连接数据库
if (con != NULL&&mysql_real_connect(con, dbip, dbuser, dbpasswd, dbname, 3306, NULL, 0))
{
//选择要操作的数据库
if (!mysql_select_db(con, dbname))
{
printf("select success the database!\n");
con->reconnect = 1;
//执行sql语句设置编码为gbk
//query = "set names \'gbk\'";
//rt = mysql_real_query(con, query, strlen(query));
Sql语句执行为0则成功
//if (rt)
//{
// printf("Error making query:%s!\n", mysql_error(con));
//}
//else
//{
// printf("query %s success!\n", query);
//}
}
}
else
{
MessageBoxA(NULL, "Unable to connect the database,check your configuration!", "", NULL);
return -1;
}
//数据库中插入记录
//sql语句
sprintf_s(tmp, "insert into testclasstb values('fangxing',7)");
//执行
rt = mysql_real_query(con, tmp, strlen(tmp));
if (rt)
{
printf("Error making query:%s!\n", mysql_error(con));
}
else
{
printf("%s executed!\n", tmp);
mysql_commit(con);//提交,使得及时生效.建议每次对MYSQL中的表修改或插入数据后 都提交一下(commit) !
}
//查询表
sprintf_s(tmp, "select * from %s", tablename);
//执行
rt = mysql_real_query(con, tmp, strlen(tmp));
if (rt)
{
printf("Error making query:%s!\n", mysql_error(con));
}
else
{
printf("%s executed!\n", tmp);
}
//将查询结果保存到res结构体中
res = mysql_store_result(con);
//遍历查询结果的行
while (row = mysql_fetch_row(res))
{
for (t = 0; t < mysql_num_fields(res); t++)
{
//打印查询行内容
printf("%s \n", row[t]);
}
printf("-----------\n");
count++;
}
printf("number of rows %d\n", count);
printf("mysql_free_result...\n");
//释放结果内存
mysql_free_result(res);
//关闭数据库连接
mysql_close(con);
system("pause");
return 0;
}
运行效果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)