设为首页 加入收藏

TOP

mysql导入source数据库sql的C++实现和封装(二)
2015-07-24 10:18:33 来源: 作者: 【 】 浏览:1
Tags:mysql 导入 source 数据库 sql 实现 封装
*********************************************************/ /*fileName是sql文件的路径, 解析出fileName中的每一条sql语句,放入到sql容器中 */ /************************************************************************/ bool DBManager::readFromSql(string fileName,vector& sql){ ifstream in(fileName.c_str(), ios::in);//linux string signalSql,s; if(!in){ return false; } while(getline(in,s)){ int pos = s.find(";"); signalSql += s; if(pos != s.npos){//找到了一条语句的结束位 sql.push_back(signalSql); signalSql.clear(); } s.clear(); } in.close(); return true; } /************************************************************************/ /* 导入数据库sql */ /************************************************************************/ bool DBManager::sourceSql(string fileName){ vector vecSql; bool ret = readFromSql(fileName,vecSql); if(ret == false){ printf("导入gamedb.sql失败"); return false; } for (vector::iterator it = vecSql.begin(); it != vecSql.end(); it++) { ExeSql((*it).c_str(), (*it).length()); } return true; }
我这里的source实现其实就是把sql脚本里的记录按行读取,如果遇到了一个分号,表示已经是一个语句了,把它放到一个sql语句的容器中,不知道还有没有别人有更好的方法,希望可以在这里交流,并留下你们的代码

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql同时使用orderby和limit查询.. 下一篇centos中使用yum安装mysql

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)
·关于 MySQL 数据库学 (2025-12-26 23:20:16)
·SOLVED: Ubuntu 24.0 (2025-12-26 22:51:53)
·Linux 常用命令最全 (2025-12-26 22:51:50)