Sqlite zapytanie z zmienną c++

0

Siemaneczko:) a no mam problem, jeden użytkownik tutaj próbował mi pomóc, lecz nie zrozumiałem za bardzo a nie chce nadwyrężać jego spokoju, więc pisze tutaj.
A o to mam kodzik

void dodaj_wynik()
{
    cout << "W celu dodania wyników piłkarskich, proszę zapoznać się z danymi(idetyfikatorami lig i druzyn)\n"
            "oraz wpisać date i wynik meczu(uzupelnij wszystkie pola niżej:)" << endl;

    sqlite3 *db;
    sqlite3_open("Database.sqlite", &db);

    char *zErrMsg;
    cout << "\n";
    sqlite3_exec(db, "SELECT * FROM `ligi`", wypisz_id, 0, &zErrMsg);
    
    cout << " Wpisz id ligi, do której chcesz dodać wynik : " << endl;
    int id;
    cin>>id;
    system("clear");
    
    cout << "Spis drużyn i ich identyfikatory :" << endl;

    sqlite3_exec(db,"SELECT `id`,`nazwa` FROM `teams` WHERE `id_ligi` = 1",wypisz_id,0,&zErrMsg);
    
       

    
        

    
}

funkcja wypisz_id

static int wypisz_id(void *NotUsed, int argc, char **argv, char **azColName)
{
  
  int i;
  for(i=0; i<argc; i++)
  {
    cout << azColName[i] << " = " << argv[i] << " ";
    
  }
  cout << "\n";
  return 0;
}

No i już wyjaśniam:) w zapytaniu
sqlite3_exec(db,"SELECT id,nazwaFROMteamsWHEREid_ligi = 1",wypisz_id,0,&zErrMsg); pobiera dane po id_ligi. Wpisałem 1, lecz potrzebuje by był on zależny od zmiennej id, która pobiera znak od użytkownika.
Dostałem rady typu http://www.adp-gmbh.ch/sqlite/bind_insert.html#sqlite3_bind_int, sqlite3_bind, sqlite3_stmt *stmt itd..
Lecz nie mogę tego zrozumieć, dlatego jak miałbym ktoś tu czas i napisał, wytłumaczył na przykładzie itd to byłbym wdzięczny:)

Pozdrawiam pisarzy : )

0

Ma ktoś pomysł?:)

0

Ogólnie zły dział, bo to bardziej powinno być w dziale C/C++

Możesz użyć sprintf:

char request[1000];
sprintf(request, "SELECT `id`,`nazwa` FROM `teams` WHERE `id_ligi` = %d", id);
sqlite3_exec(db,request,wypisz_id,0,&zErrMsg);

Możesz użyć boost::format:

sqlite3_exec(db,boost::str(boost::format("SELECT `id`,`nazwa` FROM `teams` WHERE `id_ligi` = %1%") % id),wypisz_id,0,&zErrMsg);
0

Użyłem jednak sqlite3_prepare i sqlite3_bind_int (pomoc użytkownika o nicku : Mychal :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1