Jak najlepiej zrobić funkcje komunikującą się z mySQL ?
w kodzie natywnym będzie miedzy innymi wykorzystana do komunikacji jako część modułu do apatche (.dll) Aktualnie podpiętą mam ją w visual c++ w celu sprawdzenia funkcjonalności.
- W jaki sposób lepiej przysyłać zmienne za pomocą tablicy stringów czy charów?
Chciałbym aby to była uniwersalna funkcja do której wysyłam zapytanie i zwraca mi wielowymiarową tablice rekordów i kolumn do tych zapytań w tablicy albo w inny sposób.
Np.:
string *sqlQuery1[] = sqlQuery("select * from test");
Odp funkcji:
id name city
1 Marek Poznań
2 Piotr Warszawa
itd.
Z tym, że funkcja powinna utworzyć wskaźnik to tej tablicy i zmodyfikować jej wielkość w zależności od otrzymanych danych.
Otwarty jestem na inne lepsze propozycje jak by to miało wyglądać ?
Poniżej moje początkowe wypociny(niestety nie realizują moich zamierzeń)
string sqlQuery()
{
string data
sql::Driver *driver;
sql::Connection *conn;
sql::Statement *stmt;
sql::ResultSet *res;
try {
driver = get_driver_instance();
conn = driver->connect("tcp://192.168.0.102", "xxx", "xxx");
conn->setClientOption("characterSetResults", "utf8_general_ci");
conn->setSchema("test");
stmt = conn->createStatement();
//data = stmt->getMaxFieldSize();
res = stmt->executeQuery("select * from test");
while (res->next()) {
data += res->getInt("id");
data += res->getString("nazwisko");
data += res->getString("miasto");
data += res->getString("telefon");
data += "\n";
}
delete conn;
delete stmt;
delete res;
}
catch (sql::SQLException e) {
data = e.what();
}
return data;
}
string w = sqlQuery();
textBox1->AppendText(gcnew String(w.c_str()));