1.进行配置
2.代码如下
LinkWithMysql.h:
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<Windows.h>
#include<WinSock.h>
#include<mysql.h>
#include<vector>
#include <string>
#include <cstdlib>using namespace std;
bool ConnectDatabase();
bool ConnectDatabase(const char* host, const char* userName, const char* password, const char* datbaseName, int number);
bool ConnextDatabase(const char* datbaseName);bool showDatabaseMessage();
bool getDatabaseMessage(string* strName, string* strNum);//返回表每一列信息
bool getDatabaseMessage(string* strName, string* strNum, string tableName);
bool getDatabaseMessage(vector<string>& strName, vector<string>& strNum, string tableName);
bool getDatabaseMessage(vector<string>& y, vector<string>& u, vector<string>& ni, vector<string>& y_b, vector<string>& u_b, vector<string>& ni_b, vector<string>& n, vector<string>& r, string tableName);
void showDatabase();//显示数据库中数据信息
void changeType(vector<string>& y, vector<string>& u, vector<string>& ni, vector<string>& y_b, vector<string>& u_b, vector<string>& ni_b, vector<string>& n, vector<string>& r, vector<double>& sy, vector<double>& su, vector<double>& sni, vector<double>& sy_b, vector<double>& su_b, vector<double>& sni_b, vector<double>& sn, vector<double>& sr);//转换类型
void initializeProject(vector<double>& sy, vector<double>& su, vector<double>& sni, vector<double>& sy_b, vector<double>& su_b, vector<double>& sni_b, vector<double>& sn, vector<double>& sr,string databaseName,string tableName);//初始化程序,包括连接数据库拿到数据等操作。
LinkWithMysql.cpp
#include"LinkWithMysql.h"
#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"wsock32.lib")
MYSQL* mysql = new MYSQL; //mysql连接
MYSQL_FIELD* fd; //字段列数组
char field[32][32]; //存字段名二维数组
MYSQL_RES* res; //这个结构代表返回行的一个查询结果集
MYSQL_ROW column; //一个行数据的类型安全(type-safe)的表示,表示数据行的列
char query[150]; //查询语句
bool ConnectDatabase()
{
//初始化mysql
mysql_init(mysql);
//返回false则连接失败,返回true则连接成功
if (!(mysql_real_connect(mysql, "localhost", "root", "888888", "db1", 3306, NULL, 0))) //中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去
{
printf("Error connecting to database:%s\n", mysql_error(mysql));
return false;
}
else
{
return true;
}
return true;
}
bool ConnectDatabase(const char* host, const char* userName, const char* password, const char* datbaseName, int number) {
//初始化mysql
mysql_init(mysql);
//返回false则连接失败,返回true则连接成功
if (!(mysql_real_connect(mysql, host, userName, password, datbaseName, number, NULL, 0))) //中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去
{
printf("Error connecting to database:%s\n", mysql_error(mysql));
return false;
}
else
{
return true;
}
return true;
}
bool ConnextDatabase(const char* datbaseName) {
//初始化mysql
mysql_init(mysql);
//返回false则连接失败,返回true则连接成功
if (!(mysql_real_connect(mysql, "localhost", "root", "888888", datbaseName, 3306, NULL, 0))) //中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去
{
printf("Error connecting to database:%s\n", mysql_error(mysql));
return false;
}
else
{
return true;
}
return true;
}
bool showDatabaseMessage()
{
spr