如何在SQL查询中插入字符串

how to insert string into sql query?

本文关键字:插入 字符串 查询 SQL      更新时间:2023-10-16

下面是我的代码的一部分,

 ...
 char hashvalue[]="somehash"; // or i can use std::string
 SQLCHAR* query = (SQLCHAR*)"SELECT username FROM users WHERE hash = ..." ;
 SQLExecDirectA( hStmt, query, SQL_NTS );
 ...

在上面的代码中,我不知道如何插入查询哈希值来执行我的查询:

 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无关。