赞
踩
常常有用到数据库,可是还没有自己动手尝试过。哎,自己动手都是一大堆问题。直接说吧
ps:电脑配置是win64的。安装了vs05,08,10.
1.安装mysql数据库。直接百度mysql server,网上很多。
ps:安装过程中有一个vs2010 32-bit的东西没装,简单,链接打开装一个。很快的。
2.安装完后,尝试了一下,貌似还是不行?为啥呢,去百度找了一下,发现64位系统要安装32和64的ODBC都是要安装的,那就装吧
安装完后,在控制面板-》管理工具-》odbc中,找到数据源添加
(貌似装的mysql不一样,这个数据源显示会不一样,但是没关系的,都可以用)
接着就是在vs2005中的了。新建一个win32项目程序。
配置为工具-》选项,然后配置其中的包含文件库文件
在项目-》属性中加入
如果你的电脑是64位系统。那么您的计算机是64位的,而我们建立的项目使用的是win32,这个时候会出错:
以下是代码
#include "stdafx.h"
#include <winsock2.h>
#include <windows.h>
#include <iostream>
#include <mysql.h>
//#include "include\mysql.h"
#include <stdio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char *host = "localhost";//数据库IP
char *user = "root";//数据库账号
char *pass = "123456";//数据库密码-----修改自己的密码
char *db = "my_database";//当前数据库-----修改为自己的数据库
//数据类型声明
MYSQL *sock;//数据库连接指针声明
MYSQL_RES *results;//查询结果集声明
MYSQL_ROW record;//查询结果行声明
sock = mysql_init(0);//初始化指针
if (sock)
cout << "数据库程序初始化成功!" << endl;
else
{
cout << "数据库程序初始化失败!" << mysql_error(sock) << endl;
}
//connection
if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
cout << "数据库连接成功!" << endl;
else
{
cout << "数据库连接失败: " << mysql_error(sock) << endl;
}
mysql_set_character_set(sock,"gb2312");//设置当前字符为gb2312,支持中文
//connection character set
cout << "当前字符集为: " << mysql_character_set_name(sock) << endl;
//执行查询
if(mysql_query(sock,"select * from my_table"))
{
cout<<"查询执行成功!"<<endl;
}
results=mysql_store_result(sock);
printf("aid\t id\t first\tsec\n");
while(record = mysql_fetch_row(results))
{
printf("%s\t%s\t%s\t%s\n",record[0],record[1],record[2],record[3]);
}
mysql_free_result(results);//释放结果
//关闭连接
mysql_close(sock);
getchar();
return EXIT_SUCCESS;
return 0;
}
最后如果编辑报错,显示找不到”mysql.h“
那么换一种方式 用#include "include\mysql.h"的方式
把到mysql的windows安装包下面找到include文件夹,把此文件夹复制到新建的项目文件下 ,把mysql安装目录下的lib文件夹内的libmysql.lib和libmysql.dll两个文件也复制到新建的项目下面。然后把其他库文件会报错的都选择当前文件目录下的,就能成功了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。