#c #mysql #sql #c
#c #mysql #sql #c
Вопрос:
ниже приведена часть моего кода,
...
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, заранее спасибо за помощь.
Комментарии:
1. Используйте
std::string
и наслаждайтесь славой перегруженных операторов.
Ответ №1:
Используйте 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.