Dzień dobry.
Mam taką klasę:
class Baza
{
private:
string str;
public:
Baza();
~Baza();
string zwrocHaslo(string uzytkownik);
pqxx::result wykonajZapytanie(string zapytanie);
};
pole str
przechowuje informacje, potrzebne do połączenia z serwerem bazy danych.
Baza::Baza() : str("user=test123 dbname=bazaTestowa password=123456")
{
}
Baza::~Baza()
{
}
string Baza::zwrocHaslo(string uzytkownik)
{
pqxx::connection c(str);
pqxx::work w(c);
stringstream ss;
ss << "SELECT pass FROM logins where login='" << uzytkownik << "'";
pqxx::result r = w.exec(ss.str());
w.commit();
c.disconnect();
if (r.size() == 0)
fl_alert("brak użytkownika w bazie");
else
return r[0][0].c_str();
return "";
}
pqxx::result Baza::wykonajZapytanie(string zapytanie)
{
pqxx::connection c(str);
pqxx::work w(c);
try
{
pqxx::result r = w.exec(zapytanie);
w.commit();
c.disconnect();
}
catch (exception & e)
{
fl_alert(e.what());
exit(0);
}
}
Funkcje działają, gdy pobieram informacje z tabeli:
string hasloMD5 = baza.zwrocHaslo(login.value());
Ale, gdy próbuję stworzyć, a wcześniej usunąć tabelę, program przestaje działać (crash).
void stworzTabeleBazyDanych()
{
baza.wykonajZapytanie("DROP TABLE IF EXISTS daneOsobiste;");
baza.wykonajZapytanie("CREATE TABLE daneOsobiste(id SERIAL, imie text, nazwisko text, telefon text, nip text, numerKonta text, nazwaBanku text, pesel text);");
}
Co może być tego powodem?
Dzięki