C/C++对MySQL操作
昨天晚上在看C/C++对数据库的操作,猛然间觉得十分亲切,因为其中很多函数都和PHP中对MySQL操作相同,这是才想起PHP是C演化而来的。经过一番捣腾,终于完成了一个简单的程序,但是仍然存在着一个严重的问题,就是从数据库中得到的结果在屏幕上显示的是乱码,很让人烦。还望高手们赐教!
1.在机器上装上MySQL ,假设安装在 C:\MySQL\中;
2.这里我们用VC6.0来编写C++程序,但是这个之前要对VC6.0做一些设置,也就是把MySQL目录下的include和lib目录包含到VC6.0的directory选项中。具体的做法是在VC6.0中 tools(工具)>>option(选项)>>directories(目录)这个设置中把 include files 添加一个路径 C:\MySQL\include ,再给library files 添加一个路径C:\MySQL\lib\opt ,这样设置以后你就能够在程序中直接include对数据库操作的相关头文件了。
3.现在可以开始写程序了,代码如下:
//===========================================================//
// TestMySQL.cpp
// Author : ASpire
// Discrb : for testing C++ in operating mysql
// Time : 2010-3-18
//===========================================================//
/* include header about mysql */
#include "winsock2.h"
#include "mysql.h"
#include <stdio.h>
#define CONN_HOST "localhost"
#define CONN_USER "user"
#define CONN_PWD "password"
#define CONN_DB "luntan"
//----------------------------------------------------------//
MYSQL mysql;
void exiterr(int exitcode)
{
fprintf(stderr,"%s",mysql_error(&mysql));
exit(exitcode);
}
int mysql_test()
{
MYSQL_RES *res;
MYSQL_ROW row;
unsigned int i = 0;
/* init mysql handler */
if(!mysql_init(&mysql))
{
exiterr(-1);
}
/* connect to mysql */
if(!mysql_real_connect(&mysql,CONN_HOST,CONN_USER,CONN_PWD,NULL,MYSQL_PORT,NULL,0))
{
exiterr(-2);
}
/* select db */
if(mysql_select_db(&mysql,CONN_DB))
{
exiterr(-3);
}
/* set db cha
相关文档:
第一种方法:
root用户登录系统
usr/local/mysql/bin/mysqladmin -u root -p password 新密码
enter password 旧密码
第二种方法:
root用户登录mysql数据库
mysql> update mysql.user set password=password("新密码")where User="root";
mysql> flush privileges;
mysql> quit ;
mysql忘记root密码如何 ......
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。本文主要对MyISAM表做备份恢复。
备份策略一:直接拷贝数据库文件(不推荐)
备份策略二:使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份)
备份策略 ......
如果你是个赛车手,并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是什么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换
引擎;它让你选择数据库引擎,并给你一条简单的途径来切换它。
MySQL的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务。如果愿意的 ......