![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 25.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Szukam sposobu aby połączyć się bazą danych mySQL i wyświetlić jej rekordy w języku C++. Znalazłem taką stronę, ale nie za bardzo to rozumiem. http://www.linux.rk.edu.pl/w/p/hkclasses-d...baz-danych-w-c/ Potrafi ktoś pomóc? Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
ja gdzieś na necie czy nawet na tym forum znalazłem cos takiego...
Kod #include <iostream> #include <mysql/mysql.h> // To compile execute this code // g++ program_01.cpp -lmysqlclient -o program_01 int main() { MYSQL *conn_ptr; conn_ptr = mysql_init(NULL); if (!conn_ptr) { std::cout << "mysql init failed\n"; exit(1); } conn_ptr = mysql_real_connect (conn_ptr, "localhost", "user", "pass", "db", 0, NULL, 0); if (conn_ptr) { std::cout << "connection success\n"; } else { std::cout << "connection faild\n"; } mysql_close(conn_ptr); return 0; } gdzieś na twardzielu w domu mam pełny kod z wykorzystaniem tego. Jak wrócę to zapodam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 25.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z tym kodem coś popróbuję, i proszę Cię jeszcze o wrzucenie tego kodu, który masz w domu. Będę czekać :-)
Pozdrawiam. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
trochę mi zajęło przegrzebanie hdd na serwerze, ale znalazłem coś takiego:
main.cpp Kod #include <iostream> #include <mysql/mysql.h> #include "db_data.h" // To compile execute this code // g++ program_01.cpp -lmysqlclient -o program_01 int main() { // polaczenie MYSQL *conn_ptr; // wynik zapyania MYSQL_RES *query_result; // wiersz wyniku MYSQL_ROW row; // inicjalizacja i czy udalo sie zainicjalizowac conn_ptr = mysql_init(NULL); if (!conn_ptr) { std::cout << "mysql init failed\n"; exit(1); } // nawiazanie polaczenia conn_ptr = mysql_real_connect(conn_ptr, _MYSQL_CONN_CFG_HOST_, _MYSQL_CONN_CFG_USER_, _MYSQL_CONN_CFG_PASS_, _MYSQL_CONN_CFG_NAME_, 0, NULL, 0); // czy mamy polaczenia if (conn_ptr) { //std::cout << "connection success\n"; // zapytanie i zapisanie wyniku mysql_query(conn_ptr, "SELECT * FROM test"); query_result = mysql_store_result(conn_ptr); printf("id | name\n"); // petla po wynikach while( (row = mysql_fetch_row(query_result)) ) { printf(" %s | %s\n", row[0], row[1]); } // zwalniamy wyniki mysql_free_result (query_result); } else { //nie mamy polaczenia, wyswietl blad std::cout << "connection failed\n"; std::cout << mysql_error(conn_ptr); exit(1); } // wszystko bylo ok, zamknij polaczenie mysql_close(conn_ptr); return 0; } plik db_data.h Kod #ifndef _MYSQL_DATA_CONFIG_ #define _MYSQL_DATA_CONFIG_ #define _MYSQL_CONN_CFG_HOST_ "localhost" #define _MYSQL_CONN_CFG_USER_ "user" #define _MYSQL_CONN_CFG_PASS_ "pass" #define _MYSQL_CONN_CFG_NAME_ "db_name" #endif plik Makefile Kod CC=g++ CFLAGS=-c -Wall LDFLAGS=-lmysqlclient SOURCES=main.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=program_01 all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ .cpp.o: $(CC) $(CFLAGS) $< -o $@ clean: rm -rf *.o $(EXECUTABLE) no i bardzo przydatny link: http://dev.mysql.com/doc/refman/5.0/en/c-a...n-overview.html |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 25.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mm, a skąd wezmę mysql.h? (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Ten post edytował Machro 30.11.2007, 14:50:30 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nagłówek mysql.h znajdziesz najprawdopodobniej w katalogu lib serwera MySQL.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 25.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kurcze, nic się skompilowac nie udaje ...
Próbowalem juz dziesiątki kodów z łączeniem do mySQL i zawsze błąd przy kompilacji, np. przy linijce: #include <hk_classes.h> A przecież ten plik jest dołączony do projektu + jest w tym folderze, nie wiem co robić .. A potrzebuję tylko prostego łączenia z bazą danych .. W PHP jest to takie łatwe .. Ten post edytował Machro 30.11.2007, 17:56:46 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 5 Dołączył: 8.07.2004 Skąd: gdynia Ostrzeżenie: (0%) ![]() ![]() |
Kod #include <hk_classes.h> szuka teg pliku w katalogu kompilatora. Daj Kod #include "hk_classes.h" to będzie szukał w katalogu z projektem |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:45 |