0
I am developing a small CRUD in the C++ language, using Mysql c++ Connector 8.0.17, and I came across this question:
void Management::excluir(){
std::cout << std::endl << " <<<<<<<<< Excluir >>>>>>>>> " << std::endl;
sel();
std::cout << "Quais das opções acima voce deseja excluir: (Por ID) ";
std::cin >> opt;
stmt->executeUpdate("DELETE FROM produto WHERE id = " opt); // Aqui é que está a dúvida.
//Como é que eu vou deixar o usuário escolher qual valor ele quer remover, sendo que o banco de dados não reconhece a variável opt e aqui não tem a fstrings como existe no python.
system("clear");
main_menu();
}
The code neither compiles from the following error:
error: expected ')' before 'opt'
An example where I used something similar was to select the database, but instead of using a variable, I used a constant and it worked:
int Management::method_login(){
std::cout << "Nome de usuário: ";
std::cin >> usuario;
std::cout << "Senha: ";
std::cin >> senha;
driver = get_driver_instance();
try{
con = driver->connect("127.0.0.1:3306", usuario, senha);
if(!con->isClosed()){
std::cout << "Conexão realizada com sucesso!" << std::endl;
con->setSchema(DATABASE);
stmt = con->createStatement();
stmt->execute("USE " DATABASE); // Nesta linha, DATABASE no caso é a constante.
std::cout << "Banco de dados: << " << DATABASE << " >> selecionado com exito!" << std::endl;
main_menu();
}
}catch(sql::SQLException){
std::cout << "Conexão não sucedida!" << std::endl;
exit(1);
}
To do something similar, I would need to use a constant, but in a brief Google search I realized that constants are immutable so there’s no way I use them, like in the first snippet of code, in the context where I need the user to decide which value will be deleted.