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.

  1. 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()));