Originariamente inviato da madmax84
due = "SELECT Citazione.testo_cit FROM Citazione JOIN Autore ON Citazione.cod_autore = Autore.cod_autore WHERE Autore.nome= '" + nome_autore + "'";

quando assegno la stringa a due mi da errore


come mai ??

scusate e grazie
o usi questa
codice:
#include <iostream>
#include <string>
#include <limits>
 
using namespace std;

int main()
{
  string nome_autore;
  
  cout << "autore: ";
  getline(cin, nome_autore);
  
  string due = "SELECT Citazione.testo_cit "
               "FROM Citazione JOIN Autore ON "
               "Citazione.cod_autore = Autore.cod_autore "
               "WHERE Autore.nome= '" + nome_autore + "'";

  cout << "Query: " << due << endl;  
  
  return 0;
}
oppure

codice:
#include <iostream>
#include <string>
 
using namespace std;

int main()
{
  char nome_autore[256];
  
  cout << "autore: ";
  cin.getline(nome_autore, 256);
  
  string due = "SELECT Citazione.testo_cit "
               "FROM Citazione JOIN Autore ON "
               "Citazione.cod_autore = Autore.cod_autore "
               "WHERE Autore.nome= '" + string(nome_autore) + "'";

  cout << "Query: " << due << endl;  
  
  return 0;
}