Toon posts:

[C++] compile van programma met koppeling SQL db

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb in C++ builder een proggie gemaakt wat contact legt met een SQL server. Dat werkt perfect. Heb myODBC gedownload van www.mysql.com, geïnstalleerd etc... allemaal zonder problemen.

Ik heb ook het proggie wat ik gemaakt heb gecompiled en dat werkt allemaal prima, ik kan ook de server benaderen en daar dmv een query gegevens uit halen, alleen de exe draait niet op een "kale" PC (zonder myODCB, C++ builder etc.) Hoe kan ik ervoor zorgen dat dit wel werkt op zo'n machine...

[ Voor 3% gewijzigd door Verwijderd op 07-04-2003 14:10 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

waarom draait de exe niet op een kale pc?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 22-08 16:45
Het zou kunnen dat de vcl library niet op de kale pc staat. In dat geval moet je die of mee installeren of mee compileren.
Vertel eens wat voor foutmelding je krijgt.

Verwijderd

Topicstarter
Ik heb het niet helemaal juist geformuleerd. De exe draait wel, maar als ik op de button klik die normaal gesproken (dus zoals op mn eigen pc) een query op de sql-server uitvoert dan krijg ik de volgende error:

An error occurred while attempting to initialize th Borland Database Engine (error $2109)

Wat moet ik doen om extra libary's en dll etc mee te compileren, te koppelen, zodat dit wel gaat werken???

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 07 april 2003 @ 14:22:
Ik heb het niet helemaal juist geformuleerd. De exe draait wel, maar als ik op de button klik die normaal gesproken (dus zoals op mn eigen pc) een query op de sql-server uitvoert dan krijg ik de volgende error:

An error occurred while attempting to initialize th Borland Database Engine (error $2109)

Wat moet ik doen om extra libary's en dll etc mee te compileren, te koppelen, zodat dit wel gaat werken???
Je maakt dus gebruik van de BDE? Als het goed is, is met de installatie van C++ Builder ook een redistributable .cab file geinstalleerd van de BDE. Als je deze uitpakt en installeert zal het op het client systeem draaien. Kijk anders op de sites van borland om te kijken of je ergens een BDE client install kan vinden.

Ik kan je trouwens afraden om de BDE nog te gebruiken. Borland zelf heeft de BDE ook een halt toegeroepen. De BDE word nog wem meegeleverd bij Delphi en C++Builder, maar ze zien liever hier het gebruik van afnemen. Kijk bijv. eens naar de DbExpres of ADO objecten.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
hmm, als het het kan met ADO objecten en dat geen problemen geeft met het draaien van de applicatie op een "kale" pc, dan laat ik BDE varen :)

Dat zou betekenen dat ik voor niks myODBC heb geïnstalleerd, of is dat niet waar? En heb je "toevallig" iets wat op een voorbeeld lijkt. Ik was namelijk blij dat het me al gelukt was... en nu kan ik weer opnieuw beginnen...

Maar toch bedankt :D

/me is net begonnen met c++ en databasekoppelingen

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

De help stikt van de voorbeelden (de f1 knop is je beste vriend ;) ). Als je dit met de BDE gelukt is, zal je dit ook lukken met ADO hoor. De meeste PC's hebben standaard fatsoenlijk ADO drivers geinstalleerd, dus dat zal ook geen probleem zijn. Wil je er zeker van zijn dat het zonder installeren draait op elke willeurige PC's dan kan ik je de DbExpress objecten aanraden. Je zet naast je applicatie 1 dll neer en dat is alles.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
idd de F1 is je grootste (soms meest frustrerende vriend!), over ADO kan ik wel wat vinden alleen als ik zoek op dbExpress vindtie niks... ik heb V5.0, weet niet of het daar aan ligt? En werkt ADO ook voor mySQL-server?

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Verwijderd schreef op 07 April 2003 @ 15:28:
idd de F1 is je grootste (soms meest frustrerende vriend!), over ADO kan ik wel wat vinden alleen als ik zoek op dbExpress vindtie niks... ik heb V5.0, weet niet of het daar aan ligt? En werkt ADO ook voor mySQL-server?
Om ADO te kunnen gebruiken, moet het wel op je systeem geïnstalleerd zijn. Nou is dat pas standaard zo vanaf Windows 98, dus daar moet je geen probleem mee hebben. Verder moet je om een mySQL database aan te spreken wel de myODBC driver meedistribueren, omdat ADO nog wel steeds via ODBC werkt.

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Verwijderd

Topicstarter
:? Ik denk dat het nog een nachtje slapen gaat worden... Het gaat me net ff allemaal te snel... En de F1 helpt me nog niet echt heel veel.

iig bedankt

tips blijven natuurlijk welkom....

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Verwijderd schreef op 07 April 2003 @ 15:44:
:? Ik denk dat het nog een nachtje slapen gaat worden... Het gaat me net ff allemaal te snel... En de F1 helpt me nog niet echt heel veel.

iig bedankt

tips blijven natuurlijk welkom....
Alleen F1 is idd meestal niet genoeg. In de MSDN Library kun je alvast alle informatie over ADO en ODBC vinden die je wilt.

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Verwijderd

Topicstarter
Ik ben al een heel eind gekomen en te weten gekomen over ADO en ODBC. Alleen hoe kan ik mn data displayen... Met de BDE gebruikte eerst DBGRID, dat krijg ik niet werkent omdat ik daar een datasource moet opgeven en mn TADOQuery niet slikt... Op welke manier is het wel mogelijk om dit te realiseren??? Alles werkt volgens mij want ik kan de applicatie gewoon draaien, alleen lukt het niet om data te dislayen.

@korben: jij sprak een paar berichten eerder dat je wel de myODCB driver moet meedistribueren. Betekend dat ook dus dat je binnen je prog dat aan moet geven waardie de dll kan vinden of kan die in de standaard SYSTEM map en vindt die dat dan automatisch???

Verwijderd

Topicstarter
hmmm, vergat een tussenstap.... zat net te denken: als je nu eens de query aan een datasource koppelt en die weer aan een dbgrid. En ja hoor!!!! het werkt!!!! Als dit een kromme manier van benaderen is hoor ik het wel...

Toch nog een kleine aanvulling op het eerdere bericht. Ondanks het gebruik van ADO objecten krijg ik op een "kale" W98 machine de volgende error:

[microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaard stuurprogramma opgegeven.

Hoe heb ik mn connectiestring gemaakt?
- use connectingstring -> "build"
- verbindingsreeks gebruiken -> "opstellen"
- nieuwe datasource aangemaakt, gebruik gemaakt van mySQL ODBC 3.51 driver
- nieuwe bronbestand aangemaakt
- draait als een zonnetje... ;)

Wat heeft dit voor gevolgen?
- hoe moet ik aangeven waar die de mySQL 3.51 driver kan vinden
- moet ik nog aangeven datie gebruik moet maken van de aangemaakte datasource
- of moet ik op een andere manier compilen?

[ Voor 64% gewijzigd door Verwijderd op 08-04-2003 15:12 . Reden: aanvullinkje ]


Verwijderd

Topicstarter
Nog een kleine aanvulling op mn vorige bericht:

Hoe kan ik op andere manieren schrijven naar het scherm dan DBGRID te gebruiken. Ik vindt dat mnl niet de mooiste manier.

In PHP kan dat door index-named array's te gebruiken $result['naam'], $result['adres'] etc. Hoe werkt dit in C++
Pagina: 1