下面是我代码的一部分,
...
char hashvalue[]="somehash"; // or i can use std::string
SQLCHAR* query = (SQLCHAR*)"SELECT username FROM users WHERE hash = ..." ;
SQLExecDirectA( hStmt, query, SQL_NTS );
...
在上面的代码中,我不知道如何插入查询hashvalue来执行如下查询:
SQLCHAR* query = (SQLCHAR*)"SELECT username FROM users WHERE hash = "somehash"" ;
我对sql很陌生,提前谢谢你的帮助。
最佳答案
使用std::string
std::string query_string = "SELECT username FROM users WHERE hash = ";
query_string += hashvalue;
SQLExecDirectA(hStmt, query_string.c_str(), SQL_NTS);
另一种方法:
char query_buffer[1024];
snprintf(query_buffer,
"SELECT username FROM users WHERE hash = %s",
hashValue);
SQLExecDirectA(hStmt, query_buffer, SQL_NTS);
基本上,您的问题是如何创建格式化字符串,而与SQL无关。