У меня проблемы при попытке получить значение столбца, потому что всегда возвращают мне странные символы.Данные представляют собой обычные символы (az и AZ), а столбцы имеют размер 15 символов.Но когда я использую функцию getString из класса Resultset, она всегда возвращает странные символы (� ^ Yt �^Yt
� ^).Вот пример базового соединения с моими базами данных:
#include <stdlib.h>
#include <iostream>
#include <mysql/driver.h>
#include <mysql/exception.h>
#include <mysql/resultset.h>
#include <mysql/statement.h>
#include <mysql/prepared_statement.h>
int main(){
sql::Driver *driver;
sql::Connection *con;
sql::ResultSet *res;
sql::PreparedStatement *pstmt;
try{
driver = get_driver_instance();
con = driver->connect("tcp://10.2.3.100:3306", "user", "password");
con->setSchema("user");
pstmt = con->prepareStatement("select * from tbluser where id=100000");
res = pstmt->executeQuery();
while (res->next())
std::cout<<res->getString("password")<<" "<<res->getString("username") <<std::endl;
delete res;
delete pstmt;
delete con;
}catch(sql::SQLException &e){
std::cout<<e.what();
}
}
А ниже приведен набор результатов для этого запроса:
+--------+----------+------------+
| id | password | username |
+--------+----------+------------+
| 100000 | test | martin |
+--------+----------+------------+