25. marts 2004 - 21:55
Der er
1 løsning
Tilføj data fra Edit-box til Paradox database
Jeg sidder og programmerer lidt i Delphi 7 med en Paradox database.
For at tilføje en ny post, trykker jeg på en tilføj knap, og den iser blanke felter i DBEdit felterne. (Forstår i hvad jeg mener???)
Det jeg ønsker mig er at fx vælger en side i fx et faneblad, hvor der kommer blane felter meddet samme,som bare kan udfyldes og når man trykker på gem bliver de tilføjet databasen.
Lidt påsamme måde som manlaver formularer i php og andre webbaserede programmeringssprog.
25. marts 2004 - 23:54
#1
En metode er at køre det helt udenfor data-aware komponenterne. Det man laver i PHP og lignende er sikkert SQL og det kan du sagtens bruge her - men er ikke en nødvendighed.
Jeg ville (når jeg har lavet det har jeg altid brugt SQL) det på følgende måde:
Lav en form og placerer en samling komponenter derpå. Du behøver vel en "Ny" knap til at rydde felterne og en "Gem" til at gemme i tabellen. Måske har du også brug for en "Slet" og "Ret", men det er på samme måde.
Der er to (sikkert mange flere) måder at kontrollere om data er korrekt:
1. Du kan lade "Gem" knappen være disabled indtil data er klar, eller
2. Når brugeren trykker på "Gem", så valideres.
Det er et spørgsmål om programmeringsreligion.
... det var et sidespring. Når data er til stede så kan du gøre et af to:
DBTable.Insert;
try
DBTable.FieldByName('Navn').AsString := eName.Text;
DBTable.FieldByName('Adr').AsString := eAdr.Text;
DBTable.FieldByName('PostNr').AsString := ePostNr.Text;
DBTable.FieldByName('By').AsString := eBy.Text;
finally
DBTable.Post;
end;
eller
DBTable.AppendRecord([eName.Text,eAdr.Text,ePostNr.Text,eBy.Text...]);
Begge løsninger fungerer. Et almindeligt råd på nettet er, at undgå Paradox og begynde at rode med ADO og Access-databaser i stedet. Det råd skal du også have for selvom Paradox er simpel og ligetil, så er det en teknologisk død sild.
Access er ikke meget bedre, men det er dog "normalen" når man ikke vil rode i de mere professionelle relationsdatabaser.