C++ コードから SQL-Server データベースに接続するために SQLAPI を使用しています。IN 句を使用して単純な select ステートメントを実行する必要があります。この句では、句の文字列値が文字列のベクトルとして受け取られます。パラメータ化されたクエリを使用したいので、次のようにしました。
std::string getSQLQuery(std::vector<std::string> ids){
std::stringstream sql;
sql << "SELECT ID, Name, DOB FROM Employees WHERE ID IN (";
unsigned int counter = 0;
for each (auto id in ids)
{
sql << ":" << counter + 1;
if (++counter < ids.size())
{
sql << ",";
}
}
sql << ")";
return sql.str();
}
その後、
int param_counter = 0;
for each (auto id in ids) {
command.Param(++param_counter).setAsString() = id.c_str();
}
誰かがそれを行うためのより良い方法を提案できますか?