2
sql::Connection *con;
sql::PreparedStatement *pstmt;
//connect
pstmt = con->prepareStatement("UPDATE table_people SET name=?, age=?");
pstmt->setString(1, s);
pstmt->setInt(2, age());
pstmt->execute();
std::string s
это входная строка, столбец name
является VARCHAR
и age
является INT
C++, MySQL prepareStatement
код обновляет все строки, как и следовало ожидать. age
верен, но name
не обновлен корректно и сохранены странные символы. Почему пожалуйста?
Каков точный тип «s»? Это 'std :: string?' – Ozraptor
это 'std :: string', yes –
Какой тип setString ожидает второй параметр? Доходит ли ваша '' 'переменная до тех пор, пока не будет вызвана функция execute() или она не будет уничтожена до этого? – TheUndeadFish