Jeg står og skal lave et trænings program i Delphi og har derfor brug for at kunne gemme hver "trænings" data i en database så de ikke går tabt når man lukker programmet.. Hvordan laver jeg noget med en database har nemlig ikke prøvet det før i Delphi... det skal være en database som folk ikke selv skal have kørende (fx. MySQL) på computeren for at de kan bruge programmet...
MySql høre til databaser over www og skrives i PHP kode. Så det er ikke Delphi ? Men jeg er også ny her så måske skal du vente med nogle flere svar. Er det en database over www du tænker på? Det er nemlig MySql som er Åben sovs kode og gratis. VH sprøgeJørgen
Ok.. det skal ikke være en www database... bare til programmet.
kustoden, Hvad er et ADO-interface? Og hvor finder jeg det og eller en ODBC driver? Problemet er også at jeg ikke ved hvilken database jeg skal vælge... hvilken vil du sige er bedst til Delphi?
Det du har brug for er Kim Bo Madsens kbmMemTable. Det er en TTable-lignende komponent som arbejder i computerens hukommelse, og som kan bruges som datasource i dit Delphi program på linie med ADO-connections, BDE TTables og andre.
Når programmet startes, hentes alle data fra en fil. Programmet arbejder så med disse data i memory, og når programmet lukkes (eller når du har lyst) gemmer du så alle data i filen igen.
Du skriver at InterBase er opensource men når jeg kigger på www.interbase.com (har nemlig kigget på den) så skal man da købe det.. og ellers, hvor finder jeg drivere til Paradox, Interbase og evt. Access henne? Gerne til dbXpress eller hvad?
Jeg arbejder til dagligt med Paradox, Access, InterBase, MS SQL Server og andre, så jeg kender disse ud og ind. Jeg vil stadig mene at den simpleste løsning for dig er kbmMemTable.
Hvis du absolut vil benytte en "rigtig" database, er der en del forhindringer, du skal tage højde for. F.eks: - Paradox kræver at Borland Database Engine er installeret på computeren. - InterBase kræver at InterBase serveren er installeret på computeren, og kræver at du har Delphi Professional eller Delphi Enterprise.
Et tidligere svar i tråden her nævner ADO, og en Microsoft Access database med ADO connection er nok det bedste bud i din situation, hvis du vil bruge en rigtig database.
devdude, okay men kan du hjælpe mig med at få det til at virke med en access og en ADO connection? evt. et lille eksempel ville være fedt for jeg roder med det nu og jeg kan sq ikke finde ud af det :/
Sidder forresten og leger med noget MySQL db i Delphi lige nu... (self. ikke det jeg skal bruge da man så skal have MySQL installeret) og jeg har fået det nogenlunde til at virke ved at den viser data i et DBGrid... nu vil jeg så bare vise det på en anden måde (bare en test så jeg bruger en RichEdit) men jeg kan kun få fat i Kolonne navnene og så dataene i den FØRSTE række... hvordan for jeg resten evt. med en løkke... ?
Og så hvis nogen kunne hjælpe med en Access database og noget ADO connection ville det være fedt :D
Access database og ADO kræver at du har Microsoft Access installeret, da du skal create databasen herfra. Det gælder forøvrigt også for alle andre databaser.
Har du Access og har du lavet den database du skal bruge til din applikation. Ellers glem Access.
Ja jeg har Access.. jeg skal bare bruge en Driver til Delphi... og så hvis du kan forklare hvordan jeg connecter og hiver dataene ud / skriver nye data fra Delphi ville det bare være kanont :D
Hvad er dBASE forresten? For jeg har et lille program (har ikke selv lavet det har firmaet Polar) liggende hvor databasen er en .dbf fil som tilsyneladdende er en dBASE database... ??
Det nok ikke klogt at blande sig mellem så store hjerner, men jeg prøver alligevel. ADO krover ikke Access så vit jeg ved. Det kan laves uden. Kode : Provider=Microsoft.Jet.OLEDB4.0; Data Source :C:\Program Files\Common files\Borland Shared\data\DBDemos.mdb;
Kan heller ikke bruge det for den vil ikke "logge ind" hvad er mit brugernavn og kodeord til den login prompt? Plejer da aldrig at være user og password på en Access db?!?!
Problemet er at "create" din database fra starten. Det kan kun gøres fra Access. Derefter kræves der IKKE at Access skal være installeret på computeren for at din applikation kan køre.
Hvis du har created din database i Access er du næsten ved vejs ende.
Knald en ADOConnection på en form, vælg "Microsoft.Jet.OLEDB.4.0" som "Provider" og vælg din database i "Default database"
Jeg har lige lavet et fungerende eksempel på en databaseapplikation baseret på kbmMemTable med absolut nul linier kode. Den kan jeg sende til dig hvis du har lyst til at se den.
devdude, ok nu har jeg smidt en ADOConnection på min form og valgt database og provider og det.. men hvordan trækker jeg så dataene ud nu? Og hvordan skriver jeg til den?
Hmm... når jeg prøver at gøre min ADOConnection Connection (i Design time) siger den "Handlingen blev annulleret" i en lille popup besked, hvorfor det?
Jeg har nu en ADOTable og en ADOConnection men kan ^^ ikke connecte...
Er der en smartere måde? Og hvordan får jeg anden række? Altså det der gir kun hhv. felt 2 (navn) og felt 3 (tlf. nr.) i databasen i FØRSTE række, altså kan jeg ikke tilgå person nr. 2... hvordan det?
devdude, snes TDBGrid er grimt så jeg vil gerne evt. bare kunne tage dataene fra den... men stadig hvordan får jeg fat i række 2 (person 2)? Og hvordan skriver man til databasen? Det første er vigtigst...
Du er nu ude i noget helt fundamentalt omkring databaser i Delphi. Du vil nok have megen glæde af at læse nogle simple tutorials omkring dette.
For at bladre i databasen benytter du: First, Next, Prior og Last. For at opdatere benytter du: Edit og Post; For at indsætte nye rækker benytter du Append (eller Insert) og Post;
Ok tak... ved ud hvor jeg kan finde sådan nogle tutorials? Smutter på ferie tideligt i morgen så hvis jeg ikke når det kan du så ikke smide et svar og så får du point når jeg kommer hjem?
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.