mysql_free_result()函数的作用是释放结果集的内存,是同步的,也就是要中断一下
该实验使用了MySQL链接数据库的基本使用方法,具体使用了
MYSQL_RES 数据库的mysql_store_result()函数的返回值是一个结果集,该函数的作用是检索比并存储整个结果集
MYSQL_ROW 数据库的mysql_fetch_row()函数的返回值是一个集行,搭配上一个mysql_res使用的,一个一个读他,函数的作用是获取下一个结果集行
mysql_query()函数是执行语句的意思,也就是发给数据库让他执行这条语句,函数传递语句的使用如果是std::string 类型的话,需要调用.c_str()函数进行转化成字符才能进行传递
std::ifstream infile("../src/student2.txt",std::ios::in);
infile>>temp[j];
std::ofstream outfile("../src/student2.txt",std::ios::out);
outfile<<"学号\t"<<"名字\t"<<"得分\n"<<std::endl;
该方法分别对应了流对于文件的读入和写入操作的执行,使用完毕之后要执行close()操作
本实验我认为最重要的是对于mysql的链接建立问题
MYSQL mysql;
const char db_Username[]="root";
const char db_Password[]="123456";
const char db_Host[]="localhost";
const char db_Name[]="sp";
unsigned long db_Port=3306;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gbk");
if(mysql_real_connect(&mysql,db_Host,db_Username,db_Password,db_Name,db_Port,NULL,0)==NULL){
std::cout<<"connect error!!!"<<std::endl;
return false;
}
std::cout<<"connect success!!!"<<std::endl;
- build
- docs
- include
- Main.h
- Student.h
- src
- main.cpp
- Methods.cpp
- student.cpp
- student2.txt
- CMakeLists.txt
Main.h
#ifndef NEW_PROJECTS_MAIN_H
#define NEW_PROJECTS_MAIN_H
#include<iostream>
#include<mysql.h>
#include <fstream>
void show_mean();//显示菜单
bool connect_mysql(MYSQL& mysql);//链接数据库
void query(MYSQL& mysql);//查询学生数据
void modify(MYSQL& mysql);//修改学生数据
void insert(MYSQL& mysql);//添加学生数据
void Delete(MYSQL& mysql);//删除学生数据
void filein(MYSQL& mysql);//导入文件数据
int getline();//获取文件行数
void fileout(MYSQL& mysql);//将数据库中的文件导出到另外一个文件中
void createTable(MYSQL& mysql);//创建表格
#endif //NEW_PROJECTS_MAIN_H
Student.h
#ifndef NEW_PROJECTS_STUDENT_H
#define NEW_PROJECTS_STUDENT_H
#include"main.h"
class Student{
private:
int Id;
std::string name;
int score;
public:
int getId();
std::string getName();
int getScore();
void setId(int& Id);
void setName(std::string& name);
void setScore(int& score);
};
#endif //NEW_PROJECTS_STUDENT_H
main.cpp
#include "Main.h"
int main() {
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gbk");
system("chcp 65001");
if(connect_mysql(mysql)==false){
return 0;
}
else{
int choices=1;
while(choices!=0){
show_mean();
std::cin>>choices;
switch (choices) {
case 1:
filein(mysql);
break;
case 2:
query(mysql);
break;
case 3:
modify(mysql);
break;
case 4:
insert(mysql);
break;
case 5:
Delete(mysql);
break;
case 0:
fileout(mysql);
break;
default:
std::cout<<"Input error,please again!!!"<<std::endl;
break;
}
}
std::cout<<"success"<<std::endl;
system("pause");
system("cls");
}
}
Methods.cpp
#include"Main.h"
#include"Stu

博客介绍了mysql_free_result()函数用于释放结果集内存,是同步操作。还提及mysql_query()函数执行语句,若传递std::string类型需转化为字符。强调实验中MySQL链接建立的重要性,同时列出了相关文件。
最低0.47元/天 解锁文章
381

被折叠的 条评论
为什么被折叠?



