Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ i MySQL dodawanie nowej zawartości do bazy- nie , aktualizowanie tak

Ostatnio zmodyfikowano 2017-04-19 20:36
Autor Wiadomość
Daniels198
Temat założony przez niniejszego użytkownika
C++ i MySQL dodawanie nowej zawartości do bazy- nie , aktualizowanie tak
» 2017-04-17 18:38:11
Chciałbym wstawiać do bazy danych nowe dane za pomocą INSERT INTO lecz nie wiem czemu nie działa, ale UPDATE już śmiga.

C/C++
#include <iostream>
#include <windows.h>
#include <winsock.h>
#include <mysql.h>

using namespace std;

int main()
{
    MYSQL mysql;
   
    mysql_init( & mysql ); // incjalizacja
   
    if( mysql_real_connect( & mysql, "127.0.0.1", "root", "", "dane", 3306, NULL, 0 ) )
         cout <<( "Połączenie z bazą danych MySQL nawiązano poprawnie!\n" );
    else
    {
        cout << "Błąd połączenia z bazą MySQL: %d, %s\n";
    }
   
    mysql_select_db( & mysql, "dane" );
    //   mysql_query(&mysql,"INSERT INTO `testowanie` (`id`,`watość`) VALUES (50, 'sc')"); - nie działa
    mysql_query( & mysql, "UPDATE testowanie SET id='6' WHERE id='5'" ); //- jak najbardziej działa
   
    mysql_close( & mysql ); // zamknij połączenie
   
    return 0;
}
P-160215
Bielan
» 2017-04-17 19:09:46
Czy zapytanie na bazie się wykonuje?

Spróbuj użyć MySQL profilera i zobaczyć czy zapytanie w ogóle dochodzi do bazy.

Problemy mogą być różne, aczkolwiek skoro update działa a insert nie to sugeruje, że problem jest po stronie SQLa a nie C++.
P-160219
Daniels198
Temat założony przez niniejszego użytkownika
» 2017-04-17 20:14:26
Wpisałem w profilera
"INSERT INTO testowanie (`id`,`watość`) VALUES (11,"cos tam")"
ładnie pięknie wstrzeliło do bazy
czyli jednak chyba z c++ a może wina jakiś ustawień w komputerze?

I jeszcze takie pytanko jak jest  zapytanie np. takie jak powyżej to jak to napisać w c++ by nie brało "" jako ze chce tekst przykład
h = "INSERT INTO dane (`Imię`,`Nazwisko`,`Adres zamieszkania`)VALUES (" Daniel "," Nowak "," Pozna ń ")"
to Daniel nie weźmie do całej formułki , chyba :)
P-160227
DejaVu
» 2017-04-17 21:41:38
Polskie nazwy kolumn to słaby pomysł. Nie wiesz w jakim kodowaniu zostało wysłane zapytanie - czy UTF-8 czy UTF-16 czy kodowanie lokalne windowsa.
P-160233
Bielan
» 2017-04-18 09:00:26

Wpisałem w profilera
Eeee? Czyli zrobiłeś coś innego. Chociło o to, abyś odpalił na MySQLu podgląd zapytań jakie do niego trafiają z aplikacji.


I jeszcze takie pytanko jak jest  zapytanie np. takie jak powyżej to jak to napisać w c++ by nie brało "" jako ze chce tekst przykład
http://en.cppreference.com/w​/cpp/language/escape

No i faktycznie sprawdź co z kodowaniem, aczkolwiek wynik z profila powinien ci pokazać jak wyglądało query, które przyszło.
P-160237
Daniels198
Temat założony przez niniejszego użytkownika
» 2017-04-19 20:36:05
Trochę nie ogarnąłem tego, ale ogólnie winą było kodowanie w bazie danych i nie przyjmowało inserta. Dzieki Wam wielkie :)
P-160285
« 1 »
  Strona 1 z 1