I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Øhhh - det skal lige siges at jeg ikke er hjemme i delphi, som sådan. Men ææh jeg har lavet den med sådan en guide efter jeg har lavet en tabel i database desktop - nu skal den bare have en søgefunktion...håber du kan lave et eks eller noget. ;-)
hvis du selv vil lave et simpelt delphi program (hvis ikke for andet så får at komme igang med delphi) så er her en simpel trin for trin instruktion:
1. Start Delphi og vælg New Application fra File-menuen.
2. På den form der fremkommer dropper du følgende fra komponent paletten:
a. et edit-komponent fra standard, b. en Button fra standard c. et Query-komponent fra dataaccess d. en datasource-komponent, fra dataaccess og d. en DBGrid fra datacontrols
2. Klik på query-ikonet på din form og indsæt sti/navn på din database i feltet "Databasename"
3. Klik på datasource-komponentet og vælg Query1 i dataset feltet.
4. Klik på DBgrid komponentet og vælg DataSource1 i datasource feltet.
5. Klik på Button1 komponentet og skriv følgende kode imellem begin og end:
6. Gem programmet (unit og project) på disken og compiler det.
7. Kør programmet og indtast følgende i edit-feltet:
select * from xxx
og erstat xxx med navnet på din database. Hvis den f.eks. hedder kunder.db (paradox database) skriver du
select * from kunder
Tryk derefter på knappen og dbgridden udfyldes nu med alle records, med alle felterne på tværs for hver linie.
8. For at søge kan du så bruge SQL statements ved at skrive dem i edit-feltet og trykke på knappen. Hvis du laver fejl får du en fejlmeddelelse og hvis ikke vises de records der findes i dbgridden.
eksempler:
a. hvis du vil finde alle record med et bestemt postnr så skriv: select * from kunder where postnr = 1234
så får du alle kunder der har postnr 1234
b. hvis du vil finde alle kunder der hedder noget med "kurt" skriver du: select * from kunder where kundenavn like %kurt%
og hvis du vil finde alle dem der bor i postnr 1234 og hedder noget med kurt skriver du: select * from kunder where (postnr = 1234) and (kundenavn like %kurt%)
og, hvis du vil have sorteret records i dbgridden så skal du bruge sætningen: "order by zzz", hvor zzz er navnet på det felt, f.eks. kundenavn, du vil sortere efter. Altså:
select * from kunder where (postnr = 1234) and (kundenavn like %kurt%) order by kundenavn
o.s.v. o.s.v.
Simpelt ikke ?
Men husk lige på at du ikke kan have et felt du kalder by fordi der er et reserveret ord i SQL (order by). kald det i stedet for "bynavn" (eller postdistriks som er den korrekte, tekniske, betegnelse)
Her får du en procedure til at finde den første element i DB\'en og så dem der kommer efter:
procedure GetFirst(var Navn:string; var FoundData:boolean); begin FoundData := False; With DataModule1.Table1 do begin First; if not EOF then begin Navn := FieldByName(\'SName\').AsString; FoundData := True; end; end; end;
procedure GetNext(var Navn:string; var FoundData:boolean); begin FoundData := False; with DataModule1.Table1 do begin Next; if not EOF then begin Navn := FieldByName(\'SName\').AsString; FoundData := True; end; end; end;
Du kan nu kombinere de to for at udskrive indholdet til en listbox.
procedure TFormMain.BListClick(Sender: TObject); var Navn:string; FoundData:Boolean; begin AlleListBox.Clear; GetFirst(Navn,FoundData); while FoundData do begin AlleListBox.Items.Add(Navn); GetNext(Navn,FoundData); end; end;
Table1.Setkey; Table1.IndexName := \'Feltnavn\'; //Andet end primary Index Table1.FieldByName(\'Feltnavn\').AsString := Edit1.text; Table1.GotoNearest
eller
Table1.FindNearest([edit1.text]);
Synes godt om
Ny brugerNybegynder
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.