Avatar billede martinfrost Nybegynder
27. april 2004 - 11:23 Der er 12 kommentarer og
1 løsning

Visual Studio .NET og MySQL

Kan det lade sig gøre at connecte til en MySQL-database fra C++ (console-projekt) i Visual Studio .NET? Og i såfald hvordan?

Et link til en tutorial/eksempel eller lign. vil blive værdsat :)

Skal der evt. downloades nogle biblioteker/includes fra MySQL's side? I så fald hvilke?

Mvh
Martin
Avatar billede arne_v Ekspert
27. april 2004 - 11:46 #1
Sagtens.

managed/unmanaged ?

managed skal du nok have fati f.eks. ByteFX MySQLClient.

unmanaged læs f.eks.:

http://www.eksperten.dk/artikler/244
Avatar billede ladyhawke Novice
27. april 2004 - 13:31 #2
du skal bare bruge en ODBC driver fra MySQL også lave den rigtige connectionstring...

kig f.eks. her: http://dev.mysql.com/doc/connector/odbc/en/manual.html#ODBC.NET(C#)
Avatar billede ladyhawke Novice
27. april 2004 - 13:31 #3
har ikke lige koden liggende her, men har gjort det...
Avatar billede martinfrost Nybegynder
04. maj 2004 - 11:24 #4
Vi har prøvet det første eksempel i http://www.eksperten.dk/artikler/244 men min compiler skriver:

fatal error C1083: Cannot open include file 'mysql.h': No such file or directory

Hvordan får jeg fat i denne fil?
Avatar billede arne_v Ekspert
04. maj 2004 - 12:04 #5
Den kommer med MySQL.

Du skal naturligvis bede VS oom at lede efter include filer i det rette directory
typisk C:\mysql\include
Avatar billede martinfrost Nybegynder
04. maj 2004 - 17:59 #6
Yes... det tror jeg også, vi har gjort... Vi har valgt "Properties" for projektet og derefter "Resources" og tilføjet "C:\mysql\include" i "Additional Include Directories" :-)
Avatar billede arne_v Ekspert
04. maj 2004 - 18:01 #7
Og hvis mysql.h ligger i det diretory, så kan den vel også finde den eller ?
Avatar billede martinfrost Nybegynder
06. maj 2004 - 11:02 #8
mysql.h ligger i det bibliotek, men jeg får samme kompileringsfejl:

fatal error C1083: Cannot open include file 'mysql.h': No such file or directory

Vi har prøvet at kopiere filerne i C:\mysql\include til include-biblioteket i Visual Studio (C++) med det resultat at compileren FINDER filerne men tilgengæld får vi disse fejl:

error C2146: syntax error : missing ';' before identifier 'fd'
error C2501: 'st_net::fd' : missing storage-class or type specifiers
error C2501: 'st_net::SOCKET' : missing storage-class or type specifiers

Den refererer til:

C:\Programmer\Microsoft Visual Studio .NET\Vc7\include\mysql_com.h


Hvis jeg dobbeltklikker på fejlen går den til linjen her:

******** UDDRAG *********************************
typedef struct st_net {

  Vio* vio;
  my_socket fd;        <--- Denne linje (linje 118 i mysql_com.h)
  int fcntl;

******** UDDRAG *********************************
Avatar billede arne_v Ekspert
06. maj 2004 - 11:10 #9
Har du prøvet

#DEFINE SOCKET int

ovenover

#include "mysql.h"

?
Avatar billede martinfrost Nybegynder
06. maj 2004 - 11:31 #10
Super... det får de tre fejl til at forsvinde, men nu skriver den:

error LNK2019: unresolved external symbol _mysql_close@4 referenced in function _main

og 8 mere af samme type bare med:
 
  _mysql_fetch_row@4
  _mysql_free_result@4
  _mysql_query@8
  _mysql_real_connect@32

osv.
Avatar billede arne_v Ekspert
06. maj 2004 - 11:40 #11
Du skal linke mod \mysql\lib\opt\libmysql.lib
Avatar billede martinfrost Nybegynder
06. maj 2004 - 11:57 #12
Så er der sq forbindelse tror jeg!!! Forløbig 1000 tak :) og du poster selvfølgelig bare et svar, når du skal have pointene for spørgsmålet :)
Avatar billede arne_v Ekspert
06. maj 2004 - 12:02 #13
svar
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
Kurser inden for grundlæggende programmering

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