Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.
Of je doet dit met ODBC, of je doet dit met ADO....
https://fgheysels.github.io/
In het land van ASP en PHP enzo heb je van die DSN-less connecties, dan zet je een .txt bestandje ofzo in dezelfde directory met een verwijzing naar bijvoorbeeld de database.mdb file. Dat werkt zonder dat je in Windows moet gaan registreren hoe en waar de data kan worden gevonden. Het komt op mij wat overbodig over. Maar goed, 't kan dus niet begrijp ik...whoami schreef op 23 October 2003 @ 19:29:
Je zult toch op de een of andere manier moeten aangeven hoe je programma met die DB moet connecteren , en waar die db zich bevind.
Of je doet dit met ODBC, of je doet dit met ADO....
Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.
Je moet nu ook geen databank met een txt-filetje gaan vergelijken.
Tuurlijk kan je een bestand lezen zonder dat je daarvoor een connectiestring of whatever nodig hebt. Een DBMS is trouwens wel wat meer dan een gewoon bestandje.
Om te kunnen communiceren met een databank heeft je programma extra info nodig, en die info ga je gaan aanleveren dmv een connectie-string.
Daarnaast zullen er nog wel wat dll's etc nodig zijn om die functionaliteiten te kunnen aanspreken.
https://fgheysels.github.io/
Ik net een veel mooier verhaal getypt, maar toen ik wilde postte kreeg ik te horen dat Apollo vervelend zat te doen
[ Voor 20% gewijzigd door alienfruit op 23-10-2003 20:05 ]
Dan gebruik je toch gewoon DBExpress? Dan heb je alleen een DLL nodig voor het juiste datatype en klaar ben je. Geen installatie, geen registerinstellingen, niets.spaceboy schreef op 23 October 2003 @ 19:22:
Het probleem is alleen dat ik als het EVEN kan geen gebruik wil maken van ODBC (en dus ook ADO neem ik aan).
Een goede grap mag vrienden kosten.
tomatoman schreef op 23 October 2003 @ 21:35:
[...]
Dan gebruik je toch gewoon DBExpress? Dan heb je alleen een DLL nodig voor het juiste datatype en klaar ben je. Geen installatie, geen registerinstellingen, niets.
Maar je zult toch wel op de een of andere manier een connectiestring oid moeten opgeven?
https://fgheysels.github.io/
En zelfs de DLL's heb je niet allemaal nodig, want de meeste kan je vervangen door het usen van een unit.tomatoman schreef op 23 oktober 2003 @ 21:35:
[...]
Dan gebruik je toch gewoon DBExpress? Dan heb je alleen een DLL nodig voor het juiste datatype en klaar ben je. Geen installatie, geen registerinstellingen, niets.
/edit
Maar je zal nog steeds je DBMS moeten installeren. Als je echt voor een interne DB engine wilt gaan kan ja naast degene die alienfruit noemt ook kiezen voor Firebird embedded of zoek er 1 op http://www.kylecordes.com/bag/ of http://www.torry.ru/
[ Voor 26% gewijzigd door LordLarry op 24-10-2003 09:03 ]
We adore chaos because we like to restore order - M.C. Escher
Je kunt het jezelf nog makkelijker maken door de database in dezelfde map (of een submap) als je exe te zetten en dan aan de hand daarvan een statische connectionstring opbouwen. Dat is echter niet zo netjes (bijvoorbeeld wanneer je klant de database op het netwerk wil hebben...)
Tenzij je er bezwaar tegen hebt de MDac van Microsoft te installeren. Dat terwijl deze op elk systeem standaard aanwezig is...
Dat is niet helemaal waar. De oudere Windows hebben helemaal geen MDAC (Win95) of een oude (Win98/NT/ME) zodat je niet de nieuwste Access versie kan gebruiken. Installaties van andere software pakketten verhogen soms de MDAC versie, maar je moet natuurlijk uitgaan van een kale Windows installatie.OZ-Gump schreef op 24 oktober 2003 @ 09:26:
Tenzij je er bezwaar tegen hebt de MDac van Microsoft te installeren. Dat terwijl deze op elk systeem standaard aanwezig is...
We adore chaos because we like to restore order - M.C. Escher
Volledig eens, maar ik durf eigenlijk ook wel uit te gaan van 98SE of misschien zelfs wel een stappie hoger.LordLarry schreef op 24 October 2003 @ 11:40:
[...]
Dat is niet helemaal waar. De oudere Windows hebben helemaal geen MDAC (Win95) of een oude (Win98/NT/ME) zodat je niet de nieuwste Access versie kan gebruiken. Installaties van andere software pakketten verhogen soms de MDAC versie, maar je moet natuurlijk uitgaan van een kale Windows installatie.
Vandaar overigens ook dat ik zei 'tegenwoordig'. Daarmee bedoelde ik actuele systemen
Huh?? DIT is dus interessant! Maar hoe ziet zo'n ini-file er dan uit? Of waar is 't uitgelegd??OZ-Gump schreef op 24 October 2003 @ 09:26:
...Ik heb ergens een locatie naar de database staan (ini-file of register) en dan bouw ik aan de hand daarvan dynamisch een connectionstring op. Vervolgens hoeft er niets geregistreerd of geïnstalleerd te worden: gewoon gaan met die banaan.
Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.
Bouw nu connectionstring property op door op die knop met drie puntjes te klikken (bij property connectionstring)
Copy paste die connectionstring. Nu probeer hetzelfde string dynamisch op te bouwen door gebruik te maken van variablen voor bv. username, password enz..
Dus deze connectionstring bouw je runtime en je bent klaar.
Het volgende stukje code is rechtsreeks uit een app gekopieerd, maar een klein beetje aangepast om hier te kunnen posten. DBP is de variabele waarin de databaselocatie staat
1
2
3
4
5
6
7
8
9
| ADOcon.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'User ID=Admin;Data Source=' + DBP + ';Persist Security Info=False'; try ADOcon.connected := True; except MessageDlg('Fout bij verbinden met database', mtError, [mbOK], 0); //nog wat error-handling end; |
Edit:
Sorry voor layout F#ck-up, maar da's door de bug in react (quotes etc.)
[ Voor 9% gewijzigd door OZ-Gump op 24-10-2003 16:59 ]
Kijk maar eens naar de class TIniFile in de delphi helpspaceboy schreef op 24 October 2003 @ 16:43:
[...]
Huh?? DIT is dus interessant! Maar hoe ziet zo'n ini-file er dan uit? Of waar is 't uitgelegd??
een ini file kan zo uitzien
[Connectie1]
DatabaseLocatie=<ip/FilePath/Hostnaam>
User=<usernaam>
Password=<Password> ==> Gelieve niet de password opslaan tenzij je de inifile encrypt of de password encrypt
Pas op: [rml]LordLarry in "[ Delphi] database-driven programma, welk"[/rml]spaceboy schreef op 24 October 2003 @ 16:43:
[...]
Huh?? DIT is dus interessant! Maar hoe ziet zo'n ini-file er dan uit? Of waar is 't uitgelegd??
We adore chaos because we like to restore order - M.C. Escher