0

IP_Address=[文字列]のテーブルからIDを選択しようとしています

別の関数からIPアドレスを取得します

    std::string GetIP(){
    return IP;
    }

  sql::Driver *driver;
  sql::Connection *con;
  sql::Statement *stmt;
  sql::ResultSet *res;
  sql::PreparedStatement *pstmt;

  driver = get_driver_instance();
  con = driver->connect("tcp://127.0.0.1.:3306", "root", "password");
  con->setSchema("Test");
stmt = con->createStatement();
string GETI = "84.54.584.6"; // will be GetIP()
res = stmt->executeQuery("SELECT ID FROM IPs Where IP_Address = '"+ GETI +"'");
while (res->next()) {
cout << "id = " << res->getInt(1); 
}
delete res;
delete stmt;
delete con;

VisualStudioのエラーリストにエラーが表示されません

しかし、アプリケーションを実行すると、値が表示されず、アプリケーションがクラッシュします

やってみると

res = stmt->executeQuery("SELECT ID FROM IPs Where IP_Address = '84.54.584.6'");

正常に動作します

4

1 に答える 1

1
res = stmt->executeQuery(std::string("SELECT ID FROM IPs Where IP_Address = '"+ GETI +'\'').c_str());
于 2012-11-30T22:44:57.330 に答える