Avatar billede christianrtat Nybegynder
05. august 2003 - 10:11 Der er 29 kommentarer og
1 løsning

Borland builder c++ kontakt til mysql server

Hej

Jeg vil gerne spørge om hvordan jeg med borlandbuilder C++ 6.0 kan få kontakt til en mysql server.


på forhånd tak

Mvh

Christian Andersen
Avatar billede arne_v Ekspert
05. august 2003 - 10:32 #1
Der kommer et MySQL API sammen med MySQL du kan bruge.

Funktionerne starter med mysql_.

Alternativt kan du vælge at bruge ODBC.

Jeg vil faktisk anbefale det sidste fordi så kan du lynhurtigt
skifte til en anden database.
Avatar billede arne_v Ekspert
05. august 2003 - 10:35 #2
MySQL C API er beskrevet her:
  http://www.mysql.com/doc/en/C.html
Avatar billede arne_v Ekspert
05. august 2003 - 10:38 #3
Jeg har et ODBC kode eksempel her:
  http://www.eksperten.dk/spm/340330
Avatar billede christianrtat Nybegynder
05. august 2003 - 10:41 #4
Hej tak for svaret!


Problemet er at jeg skal lave et program der kan køre selvstændigt altså uden odbc ellers havde det jo cæret perfekt ;)

MVH
Christian
Avatar billede arne_v Ekspert
05. august 2003 - 10:45 #5
Så går du igang med MySQL C API.

Det er heller ikke så svært.
Avatar billede christianrtat Nybegynder
05. august 2003 - 10:46 #6
oki tak !
Avatar billede christianrtat Nybegynder
05. august 2003 - 11:09 #7
Hmmmm

Tror faktisk jeg har prøvet API før, men jeg kan simpelt hen ikke få det til at virke, med borland nuilder 6.0
Avatar billede arne_v Ekspert
05. august 2003 - 11:16 #8
MySQL hævder selv at det virker med BCB:
  http://www.mysql.com/doc/en/Borland_C++.html
Avatar billede arne_v Ekspert
05. august 2003 - 11:17 #9
Avatar billede christianrtat Nybegynder
05. august 2003 - 11:19 #10
Takker

Jeg kigge rpå det

MVH
christian
Avatar billede christianrtat Nybegynder
05. august 2003 - 11:49 #11
Hej igen


Nu har jeg downloadet denne fil mysql++-1.7.1-1-win32-vc++.zip, jeg har borlandnuilder 6.0 men kun en Evaluation udgave.

Jeg har udpakket filerne og læst manualen, og gjort det den sagde men det virker stadig ikke. Kan du hjælpe mig ?

På forhånd tak

Christian Andersen
Avatar billede christianrtat Nybegynder
05. august 2003 - 13:46 #12
?
Avatar billede arne_v Ekspert
05. august 2003 - 14:00 #13
Det kan jeg måske godt.

Men det bliver først i aften.

Hvilke fejl får du ?

Har du prøvet coff2omf ?
Avatar billede christianrtat Nybegynder
05. august 2003 - 14:15 #14
Hej Igen

og tak fordi du gider at tage dig tid til at hjælpe mig.

Det jeg gjore var at jeg DL denne fil fra mysql : mysql++-1.7.1-1-win32-vc++.zip


Når jeg forsøger at køre filen src\examples\examples.bpg

får jeg følgende fejl:

Project sinisa.exe raised exeption class MySqlBadQery with message

Exception object address: 0x995ff2 process stopped.

use step og run to continue.


Ja håber du kan klare den ;)

mvh
christian
Avatar billede arne_v Ekspert
05. august 2003 - 18:23 #15
Inden jeg kigger for meget på din ZIP - har du kigget lidt på:
  mysql++-1_7_1win32_borland_1_2.zip
?
Avatar billede christianrtat Nybegynder
06. august 2003 - 09:10 #16
Ja den har jeg prøvet (mysql++-1_7_1win32_borland_1_2.zip), men den kræver  minimum borland compiler 5.5 , da jeg prøvede det syntes jeg det gik rigtigt i vasken.
Avatar billede arne_v Ekspert
06. august 2003 - 10:20 #17
Er 6.0 ikke minimum 5.5 ?

Jeg vil gerne bruge tid på at lave det helt fra bunden med kode eksempel
og build script, men jeg vil gerne være helt sikker på at det ikke
er skønne spildte kræfter.
Avatar billede christianrtat Nybegynder
06. august 2003 - 11:31 #18
Det kan jeg godt forstå;)

Jeg har både prøvet mysql++-1_7_1win32_borland_1_2.zip & mysql++-1.7.1-1-win32-vc++.zip. Men jeg kunne ikke få nogen af dem til at virke.

Dvs jeg har både prøvet med en borlandbuilder 5.0 hvor jeg DL compileren v 5.5, og jeg har prøvet med en Borland builder 6.0 Evaluation. Pt har jeg BB 6.0
Evaluation.

Med venlig hilsen
Christian
Avatar billede arne_v Ekspert
07. august 2003 - 09:46 #19
Jeg har fået noget til at virke nu !

Jeg droppede alt det der mysql++ stads og fokserede på det officielle
MySQL C API.

BCC 5.5

gammel MySQL 3.23.52

Konvertering af libraries:

coff2omf \mysql\lib\opt\libmysql.lib .\libmysql.lib

Build:

bcc32 -DSOCKET=int -I\mysql\include mysqltest.c libmysql.lib

og det virker !
Avatar billede arne_v Ekspert
07. august 2003 - 09:47 #20
Test kode:

#include <stdio.h>
#include <stdlib.h>

#include "mysql.h"

int main() {
    MYSQL *handle;
    MYSQL_RES *result;
    MYSQL_ROW row;
    int nfields;
    int *l;
    int i;
 
    handle= mysql_init(NULL);
   
    if(handle == NULL)
    {
        printf("MySQL error: %s", mysql_error(handle));
        exit(1);
    }

    if(!mysql_real_connect(handle, "localhost", "", "", "Test", 0, NULL, 0))
    {
        printf("MySQL error: %s", mysql_error(handle));
        exit(1);
    }

    mysql_query(handle, "SELECT * FROM T1");
    result = mysql_store_result(handle);
    nfields = mysql_num_fields(result);

    while ((row = mysql_fetch_row(result))) {
        l = (int *)mysql_fetch_lengths(result);
        for (i=0; i<nfields; i++) {
            printf(" %.*s", l[i], row[i] ? row[i] : "NULL");
        }
        printf("\n");
    }

    mysql_free_result(result); 
    mysql_close(handle);

    return 0;
}
Avatar billede christianrtat Nybegynder
07. august 2003 - 12:03 #21
Hej igen

Undskyld ;)
  men hvilken api fil skal jeg dl?

mvh
Avatar billede arne_v Ekspert
07. august 2003 - 12:08 #22
Den der indeholder libmysql.lib og libmysql.dll - formentlig heder den
noget med development.
Avatar billede arne_v Ekspert
07. august 2003 - 12:52 #23
Jeg checkede lige. Det hele er i:
  mysql-4.0.14b-win-noinstall.zip
og formentlig også i EXE varianten.
Avatar billede christianrtat Nybegynder
07. august 2003 - 13:46 #24
Nå nu sker der da noget

Jeg har prøvet det su skrev og det virkede. Men nu siger min borland builder følgende:

[C++ Error] mysqltest.c(4): E2209 Unable to open include file 'mysql.h'

Hvad gør man så ??

Mange tak for din tid

Mvh
christian
Avatar billede arne_v Ekspert
07. august 2003 - 13:59 #25
Så peger din -I ikke på det rigtige directory.
Avatar billede christianrtat Nybegynder
07. august 2003 - 14:01 #26
Tror jeg fik sagt det forkert.

Jeg fik det til at virke i dos via cmd prompt.

Men nu da jeg prøver at builde det i buildeen guién siger den at den ikke kan finde mysql.h.
Avatar billede arne_v Ekspert
07. august 2003 - 16:20 #27
Har du angivet include directory i builder GUI'en ?
Avatar billede christianrtat Nybegynder
08. august 2003 - 11:41 #28
Jeg har ikke brugt C++ builderen ret meget hvor gør jeg det henne ??


mvh
christian
Avatar billede arne_v Ekspert
08. august 2003 - 12:01 #29
Jeg kender ikke CPB ret godt.

Project
Properties
Inlude Directory

eller noget tilsvarende.
Avatar billede christianrtat Nybegynder
08. august 2003 - 12:27 #30
Tak

jeg har simpelt ikke kunne finde dte

mvh
christian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester