BCB6 und MySQL



  • Hi Leute,

    ich bin gerade dabei ein kleines Programm zu schreiben, welches Daten aus einer MySQL-Datenbank liest. Im Konsolenmodus funktioniert bisher alles, aber bei einer GUI-Anwendung funktioniert es nicht. Hier mal der ausschnitt mit aus dem Programm:

    //---------------------------------------------------------------------------
    #include <windows.h>
    #include <mysql.h>
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
        // deklarieren der benötigten Variablen
        MYSQL *mysql;
    
        // Mit dem Server verbinden
    	if(mysql_real_connect(mysql, "localhost", "root", NULL, NULL, 0, NULL, 0))
            Label1->Caption = "Verbunden...";
        else
            Label1->Caption = "Nicht verbunden...";
    }
    //---------------------------------------------------------------------------
    

    Normalerweise müsste es funktionieren, aber ich bekommen folgende Fehlermeldung:

    [Linker Fehler] Unresolved external 'mysql_real_connect' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

    Warum kommt der Fehler? Ich hoffe ihr könnt mir helfen. Ich habe die Verzeichnisse auch schon ergänzt, also daran kann es eigentlich nicht liegen. Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet. Ich danke euch schonmal.

    MfG Apocalypse



  • Hallo

    du must die .lib-Datei des MySQL-Clients mit in das Projekt mit einbinden. Der Lib-Pfad alleine reicht nicht.

    bis bald
    akari



  • Und wie binde ich diese ein?

    MfG Apocalypse



  • Hallo

    Menü Projekt/Dem Projekt hinzufügen. Vergiß nicht dort den Dateityp auf .lib zu stellen.

    bis bald
    akari



  • Danke..., das hat funktioniert. Doch nun bekomme ich noch eine Exception. Da steht irgendetwas mit der Datei libmysql.dll. Was soll ich nun noch mit der Datei machen? Danke für deine Hilfe...

    MfG Apocalypse



  • Hallo

    die Exception hat nichts mit der Einbindung der lib oder der dll zu tun, sondern liegt an deinem Quellcode. Schau dir also Beispielcode aus dem Netz an und vergleiche, was bei dir falsch ist.

    bis bald
    akari



  • Ein Runtime-Error in der Libmysql.dll ist eigendlich immer eine falsche SQL-Query. Schau mal mit dem Debugger, welche Query den Fehler verursacht und teste sie in der MySQL-Console.

    mfg
    xXx



  • Danke..., ich habe es nun hinbekommen. Es lag wirklich an meinem Quellcode.

    MfG Apo


Anmelden zum Antworten