Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Linux/Unix ::  Auf MySQL Datenbank zugreifen     Zeige alle Beiträge auf einer Seite Thema geschlossen
Autor Nachricht
freshlemon
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.10.2001
Beiträge: 294
Beitrag freshlemon Mitglied 16:26:00 29.10.2001   Titel:   Auf MySQL Datenbank zugreifen            Zitieren

Hi zusammen,

ich habe bei mir eine MySQL Datenbank laufen auf die ich gerne mit C zugreifen würde. Allerdings weiß ich nichtmal wo ich anfangen muss. Kann mir jemand ei paar Tipps zum Einstieg geben?

Miki
elise
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.05.2001
Beiträge: 8165
Beitrag elise Mitglied 18:16:00 29.10.2001   Titel:              Zitieren

geht...klar
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <time.h>
#include <stdio.h>
#include <mysql.h>
 
int main ()  {
    MYSQL_RES *mTabelle;
    MYSQL_ROW mRecord;
    MYSQL *mConnection, mDB;
    int mError;
    mysql_init(&mDB);
    mConnection =
mysql_real_connect(&mDB,"localhost","root","","test",0,0,0);
    if (mConnection == NULL)  {
        printf("Es konnte keine Verbindung zur Datenbank hergestellt werden: %s",mysql_error(&mDB));
        return 1;
    } else {
 printf("Es wurde erfolgreich eine Verbindung hergestellt!");
    }
    mysql_close(mConnection);
    return 0;
}


[edit]für Unix angepasst (windows.h entfernt)[/edit]

_________________
There's An App For That


Zuletzt bearbeitet von rüdiger am 16:24:29 15.02.2004, insgesamt 1-mal bearbeitet
GunJahLion
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.07.2001
Beiträge: 176
Beitrag GunJahLion Mitglied 19:23:00 29.10.2001   Titel:              Zitieren

Hi,

ich schreibe auch viel in C für MySQL. elise's Beispiel ist schon toll, aber hier noch ein grundlegende Tips:

- die Entwicklungsdateien sind mysql.h, libmysql.lib, libmysql.dll (unter Windows, Linux heißen sie glaube ich genauso, nur das die .dll eine .so ist und die .lib eine .a). Unter Win32 muß man die windows.h noch dabei haben.

- in der MySQL-Dokumentation ist unter dem Kapitel MySQLClient Tools und APIs eine Referenz der Funktionen. Für C++ kannst du dir unter www.mysql.com eine offizielle Klassenbibliothek zur MySQL-Programmierung herunterladen.

- die eigentliche Programmierung ist recht simpel (s. Beispiel elise: Verbindung aufbauen, SQL Statement abschicken, Ergebnis auswerten. Da kommt man in der Regel mit einer handvoll Funktionen aus.


Gruß

GunJahLion
Unix-Tom
Moderator

Benutzerprofil
Anmeldungsdatum: 18.07.2000
Beiträge: 10418
Beitrag Unix-Tom Moderator 19:34:00 29.10.2001   Titel:              Zitieren

Also ich würde da so lösen.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    MYSQL_ROW fetchbuffer;
    MYSQL *conn;
    MYSQL_RES *result;
 
    conn = mysql_init(NULL);
 
    if (conn == NULL) return DB_CONNECTION_BAD;
    if (mysql_real_connect(conn,maschine,user,password,database,port,NULL,0) == NULL)
    {
        return DB_CONNECTION_BAD;
    }  
result = NULL;
connected = true;
return DB_CONNECTION_OK;


C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int Database::sqlexecute(CString sqlcommando)
{
    if (mysql_query(conn, sqlcommando))
    {
        CString errormessage = errorMessage();
        return DB_COMMAND_ERROR;
    }
   
   
   
    if (!(result = mysql_store_result(conn)))
    {
        /*  Statement executed */
        return DB_COMMAND_OK;
    }
   
    if (!(fetchbuffer = mysql_fetch_row(result)))
    {
        /*  Keine Daten vorhanden */
        return DB_EMPTY_QUERY;
    }
   
   
    for (unsigned int colNum = 0; colNum <= nrFields(); colNum++)
    {
        field[colNum] = fetchbuffer[colNum];
    }
   
   
    return DB_SELECT_OK;
}


in field[0] - field[x] je nach dem wieviele man Selected hat stehen die Daten

_________________
Moderator für MFC, Linux, C# - NET und Datenbanken


Zuletzt bearbeitet von rüdiger am 16:41:19 13.07.2004, insgesamt 3-mal bearbeitet
OmsiFahrer97
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.12.2014
Beiträge: 5
Beitrag OmsiFahrer97 Mitglied 22:06:15 18.12.2014   Titel:              Zitieren

Guten Abend,

wollte mich mal informieren, wie das ganze aufgebaut wird. Was soll in der Header Datei drin stehen und was soll in der c++ - Datei stehen, damit sich das Programm mit meiner Datenbank verbindet.

Wäre über Tipps und Tutorials dankbar..

Grüße
Der neue im Forum... :D
SeppJ
Global Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 27657
Beitrag SeppJ Global Moderator 22:24:34 18.12.2014   Titel:              Zitieren

Wird doch alles hier im Thread beantwortet. Wenn du konkrete Fragen hast, stell sie. Mit einer guten Frage. Und kram dafür keine 13 Jahre alten Threads hervor, ohne etwas wichtiges zum Thema beitragen zu können! Das ist extrem störend und deswegen wird dieser Thread hier auch prompt eingeschläfert.

_________________
Korrekte Rechtschreibung und Grammatik sind das sprachliche Äquivalent zu einer Dusche und gepflegter Kleidung.


Zuletzt bearbeitet von SeppJ am 22:25:37 18.12.2014, insgesamt 1-mal bearbeitet
C++ Forum :: Linux/Unix ::  Auf MySQL Datenbank zugreifen   Thema geschlossen

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.