在 c++ 中设置格式 SQL 查询
Format SQL query in c++
我想知道是否可以在类似于 Python 中的"sqlparse"模块C++中使用一些东西来格式化我的查询。你知道我可以使用什么吗?
很抱歉之前没有提供示例。我想要这样的东西:
SELECT MEMB.NAME, MEMB.AGE, AGE.GROUP FROM MEMB, AGE WHERE MEMB.AGE = AGE.AGE
变成这个:
SELECT MEMB.NAME,
MEMB.AGE,
AGE.GROUP
FROM MEMB,
AGE
WHERE MEMB.AGE = AGE.AGE
多谢。
您可以编写自己的漂亮打印机。在这种情况下,这不会有任何困难。只需替换如下所示的内容:
"FROM" -> "nFROM"
"WHERE" -> "nWHERE"
"," -> ",nt"
"AND" -> "ANDnt"
"OR" -> "ORnt"
等。
编辑:由于您不编码,因此这是此功能的一个小版本。
#include <string>
using std::string; /* put these lines in the top of your file */
string replace(string a, string b, string c) {
unsigned x;
for(x = a.find(b); x != string::npos;) {
a.erase(x, b.length());
a.insert(x, c);
}
return a;
}
string formatSQL(string sql) {
replace(sql, "FROM", "nFROM");
replace(sql, "WHERE", "nWHERE");
replace(sql, "," , ",nt");
replace(sql, "AND", "ANDnt");
replace(sql, "OR", "ORnt");
}
因此,调用formatSql("SELECT MEMB.NAME, MEMB.AGE, AGE.GROUP FROM MEMB, AGE WHERE MEMB.AGE = AGE.AGE")
会给您带来所需的结果。
相关文章:
- 如何使用c++在VS 2019上运行SQL查询
- 如何在 sql 查询中获取 soci::rowset<std::string>
- 如何从 Oracle 数据库中获取 qt 中 SQL 查询的传输字节大小?
- 在C++中异步执行 sql 查询
- C++ Poco SQL 查询不返回具有'between'和'and'日期时间绑定的结果
- SQL 查询返回DB_E_NOTABLE
- Windows 10 中的 MS Access 数据库 SQL 查询问题
- 带变量的 SQL 查询
- 输入数据未分配给SQL查询
- CString 到 LPCTSTR 的转换会中断 sql 查询
- 使用BoostSpirit在C++中解析SQL查询
- C++程序中存在SQL查询语法错误,但可在MySQL工作台中使用
- 显示 QLabel 中 sql 查询的输出
- Qt sql 查询失败
- 在 C++ 控制台应用程序中编写 SQL 查询
- 如何在C/C++中保存SQL查询结果
- c++SQL查询构建库
- 如何优化涉及大量sql查询的Qt代码块
- Oracle中触发SQL查询的底层机制
- 如何在SQL查询中插入字符串