sql >> Database >  >> RDS >> PostgreSQL

libpqxx v12 - vectorwaarden dynamisch binden aan voorbereide instructie (alternatief voor aanroep)

pqxx::prepare::make_dynamic_params zal waarschijnlijk uw probleem oplossen. Het heeft mijn probleem opgelost. Gebruik deze manier:

for (size_t i = 0; i < buffSize; ++i)
{
    auto element = dataBuffer.at(i);
    vector<string> vect;
    vect.reserve(3);
    vect.push_back(pqxx::to_string(element.rndNo));
    vect.push_back(element.timestamp);
    vect.push_back(element.uuid);

    work.exec_params(m_insertCommand, pqxx::prepare::make_dynamic_params(vect));
}

Van de versie 7.6.0 dynamic_params zijn verouderd. params kunnen in plaats daarvan worden gebruikt. Hier is de nieuwe oplossing:

for (size_t i = 0; i < buffSize; ++i) 
{
    auto element = dataBuffer.at(i);
    pqxx::params;
    params.reserve(4);
    params.append(pqxx::to_string(element.rndNo));
    params.append(element.timestamp);
    params.append(element.uuid);
    params.append(); // For example insert null variable

    work.exec_params(m_insertCommand, params);
}



  1. PDO::FETCH_CLASS met meerdere klassen

  2. Is het mogelijk om de ongeldige waarde in MySQL te vangen wanneer ik een externe sleutelbeperkingsfout krijg?

  3. hoe meerdere waarden in een enkel veld in mysql in te voegen

  4. Maak een subcategorie aan bij Wijzigen