• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Aplikacja+mysql

VPS Starter Arubacloud
0 głosów
396 wizyt
pytanie zadane 6 maja 2015 w C i C++ przez niezalogowany
Witam.

 

W jaki sposób, czego używacie w swoich projektach aby łączyć się z bazami mysql?

Chodzi o GUI, C++, Projekty wieloplatformowe (linux/windows)

 

Pomyślałem o protokole http (aplikacja odpytuje bazę przy pomocy protokołu http)

 

APLIKACJA ---> SERWER_HTTPD+MYSQL

 

Zaznaczyć warto, że użyto wxWidgets, gdzie można użyć wxHttp

 

Być może ktoś ma lepsze rozwiązanie, szybsze?

1 odpowiedź

+1 głos
odpowiedź 6 maja 2015 przez JachuPL Bywalec (2,950 p.)
wybrane 6 maja 2015
 
Najlepsza
Generalnie użycie http do komunikacji z MySQL jest jak chęć pojechania do sklepu, wsiąście do samochodu i pojechanie w przeciwnym kierunku i dwa razy dalej. Masz kilka bibliotek - libmysql, mysql connector, mysql.h. Wystarczy w google wpisać c++ mysql connection i dostajesz bardzo dużo pytań z opdowiedziami jak i gotowych projektów ;)
komentarz 6 maja 2015 przez niezalogowany
Zastanawiałem się kiedyś nad connectorem, jakbyś rozwiązał problem wieloplatformowości?

Linux/windows (ide to codeblocks biblioteka wxWidgets)

dodam, że aplikacja pisana jest pod linux debian, kompilator dla windows = mingw32
komentarz 6 maja 2015 przez JachuPL Bywalec (2,950 p.)
edycja 6 maja 2015 przez JachuPL

Generalnie nie siedzę aż tak głęboko w C++, ale gdybym miał coś takiego robić to pewnie przygotowałbym projekt do korzystania z MySQL na każdej platformie chociażby przez napisanie nowej klasy, której metody mogłyby przykładowo wyglądać tak:

void SendQuery(const char* query)
{
#ifdef __WIN32__
//kod używający MySQL Connector C++
#elif __FREEBSD__
//kod używający libmysql (dla unixa)
#elif __JAKIŚINNYSYSTEM__
//kod używajacy jakiejś innej biblioteki dla linuxa
#endif
}

i potem w Makefile'u bym po prostu sprawdzał sobie platformę i includował niezbędne rzeczy

Ale z tego co widzę, to można na linuksie skompilować Connectora

http://dev.mysql.com/doc/connector-cpp/en/connector-cpp-apps-linux-netbeans.html

Dodatkowo wydaje mi się, że można użyć libmysql na Windowsie, ale pewien na 100% nie jestem.

komentarz 11 maja 2015 przez niezalogowany

Twoja koncepcja odnośnie bezpośredniego łączenia się z bazą jest słuszna, tylko chyba nic z tego nie wyjdzie.

Od kilku dni walczę jak wkompilować connectora przy pomocy miggw32 i niestety nie wychodzi :)

 

Zgodnie z dokumentacją connector pod windows da radę kompilować tylko w Visual Studio:

Connector C/C++ supports only Microsoft Visual Studio 2003 and above

on Windows.

 

Zaznaczyć warto, że w przypadku gcc nie ma problemu.

 

Prawdopodobnie mój projekt zorganizuję tak:

  1. pod linux użyty zostanie connector

  2. pod windows użyty zostanie protokół edi http (wxHttp) czyli serwer apache+mysql

Podobne pytania

0 głosów
1 odpowiedź 483 wizyt
pytanie zadane 2 października 2022 w C i C++ przez Bilib Użytkownik (990 p.)
0 głosów
1 odpowiedź 317 wizyt

93,003 zapytań

141,968 odpowiedzi

321,247 komentarzy

62,340 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...