0

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();
    }

誰かがそれを行うためのより良い方法を提案できますか?

4

1 に答える 1