I have the latest C:B and I downloaded the latest mysql 5.1 .Now i wanted something to do.When i give this code and press F9 I get many errors,I already know that i must give "#include <mysql.h>" to somewhere.I dont know where. Than i must give "#pragma comment(lib,"libmysql.lib")" to somewhere too,but i don't where.
Please i am a beginner, So help me please :x .
#include <iostream>
#include <stdio.h>
/*
Hlavičkový súbor MySQL
Ak vám váš prekladač oznámi, že tento súbor nemôže nájsť, musíte pridať cestu
k tomuto hlavičkovému súboru manuálne a to v: Project -> Properties ->
Configuration Properties -> C/C++ -> General -> Additional Include Directories
*/
#include <mysql.h>
/*
Môžete taktiež použiť Project -> Properties -> Configuration Properties ->
Linker -> Input -> Additional Dependencies, pridajte libmysql.lib
Ak vám váš linker oznámi, že libmysql.lib nemôže nájsť, musíte pridať cestu
k tejto knižnici manuálne a to v: Project -> Properties ->
Configuration Properties -> Linker -> General -> Additional Library Directories
*/
#pragma comment(lib,"libmysql.lib")
using std::string;
using std::cout;
using std::endl;
int main(int pocetArgumentov, char * argumenty[])
{
// Hlavný objekt MySQL, s ktorým sa vykonávajú všetky operácie súvisiace s MySQL
MYSQL mySQL;
// Inicializácia MySQL
// V prípade, že sa nepodarí MySQL inicializovať, vrátená hodnota je NULL
if (mysql_init(&mySQL))
{
// Pripojiť sa na server
// Funkcia vracia odkaz na MYSQL objekt, ktorý by sa mal zhodovať s adresou použitou ako prvý
// argument. Ak pripojenie zlyhá, funkcia vracia hodnotu NULL
if (mysql_real_connect(&mySQL,"127.0.0.1","root","","",3306,0,0))
{
string dotaz;
if (pocetArgumentov == 2)
dotaz = argumenty[1];
else
dotaz = "SHOW DATABASES";
// Vykonanie dotazu
// Ak sa dotaz vykonať nepodarí, funkcia vracia kód chyby. Taktiež sa nastavuje chybové hlásenie,
// ktorého text je možné obdržať funkciou mysql_error(MYSQL *). V opačnom prípade vráti funkcia 0
if (mysql_real_query(&mySQL,dotaz.c_str(),dotaz.length()) == 0)
{
MYSQL_RES * vysledok;
// Kvázi uložiť výsledok dotazu
vysledok = mysql_store_result(&mySQL);
// Ak nie je možné obdržať výsledok dotazu (napr. pri dotazoch INSERT, DELETE atď.)
// je hodnota výsledku NULL
if (vysledok)
{
// Počet stĺpcov (fields, columns)
unsigned int pocetStlpcov = mysql_num_fields(vysledok);
if (pocetStlpcov > 0)
{
cout << "Data:" << endl;
MYSQL_ROW riadok = 0;
int r = 0;
// Pokiaľ je možné obdržať ďalší riadok
while ((riadok = mysql_fetch_row(vysledok)))
{
cout << "Riadok: " << r++ << endl;
for (int i=0;i<pocetStlpcov;++i)
{
// Vypísanie hodnoty riadku na indexe stĺpca
// Ak je stĺpec textového typu, zobraziť ako 'HODNOTA', inak ako HODNOTA
MYSQL_FIELD * stlpec = mysql_fetch_field_direct(vysledok,i);
if (stlpec->type == MYSQL_TYPE_BLOB || stlpec->type == MYSQL_TYPE_LONG_BLOB ||
stlpec->type == MYSQL_TYPE_MEDIUM_BLOB || stlpec->type == MYSQL_TYPE_STRING ||
stlpec->type == MYSQL_TYPE_TINY_BLOB || stlpec->type == MYSQL_TYPE_VAR_STRING ||
stlpec->type == MYSQL_TYPE_VARCHAR)
// '%s'
printf(" (%i) %s: '%s'\n",i,stlpec->name,(riadok[i] ? riadok[i] : "NULL"));
else
// %s
printf(" (%i) %s: %s\n",i,stlpec->name,(riadok[i] ? riadok[i] : "NULL"));
}
cout << endl;
}
}
else
cout << "Ziadne stlpce" << endl;
// Uvoľniť výsledok dotazu z pamäte
mysql_free_result(vysledok);
}
else
{
// Výsledok neobsahuje dáta, buď sa teda jedná o dotaz ako napr.
// INSERT, DELETE atď.
if (mysql_field_count(&mySQL) == 0)
cout << "Pocet pozmenenych riadkov: " << mysql_affected_rows(&mySQL) << endl;
// alebo sa počas spracovania vyskytla chyba
else
cout << mysql_error(&mySQL) << endl;
}
}
else
// Zobraziť chybové hlásenie
cout << mysql_error(&mySQL) << endl;
}
else
// Zobraziť chybové hlásenie
cout << mysql_error(&mySQL) << endl;
// Zatvoriť MySQL
mysql_close(&mySQL);
}
else
cout << "Chyba pri inicializacii MySQL" << endl;
cout << endl;
system("PAUSE");
return 0;
}