Avatar billede martin_schou Nybegynder
28. september 2001 - 12:04 Der er 5 kommentarer og
1 løsning

Databasetilgang

Hvordan laver I databasetilgang?

Jeg har selv en databasepakke, som jeg er ganske godt tilfreds med, men jeg ville gerne se, hvordan andre håndterer databaser - det kan jo være, jeg kunne blive inspireret og få ideer til forbedringer af mit eget.

I _behøver_ ikke poste nogen kode, men blot en simpel gennemgang af hvordan det virker.

Ved ikke helt om 30 points er for meget eller for lidt, for jeg har ikke rigtigt brug for jeres forslag, men på den anden side set synes jeg, det kunne være sjovt at se andres løsninger.
Avatar billede janvogt Praktikant
28. september 2001 - 12:06 #1
Er det \"rene\" Excel-databaser du tænker på?
Med struktur, databasefunktioner, opslag etc.?
Avatar billede martin_schou Nybegynder
28. september 2001 - 12:21 #2
Jeg har tre klasser i en pakke kaldet Database:

DatabaseProxy - håndterer adgangen til en enkelt database (eller den samme database med forskellige logins og/eller passwords)

TabelObjekt - databærende klasse for klasser udenfor Database-pakken; laver kald ned i SQLInterface, når der skal laves søgninger.

SQLInterface - udvidet singleton-klasse (der er kun een instans per ODBCNavn+Login+Password), som snakker med databasen.

Al magien ligger for så vidt i TabelObjekt. Når DatabaseProxy startes op forbinder den med databasen (via SQLInterface) og får en oversigt over tabeller og tabellernes udseende (metadata). Disse informationer bruger DatabaseProxy til at lave en TabelObjekt-skabelon for hver tabel. Disse skabeloner er nu skrædersyet til hver tabel.

Når der søges, laves en klon af den relevante tabel (hvis der skal søges i flere tabeller, laves der en klon af hver af de relevante tabeller; disse kloner samles i et enkelt objekt, som passer \"ned over\" de relevante tabeller). Dette klon-objekt laver nu et kald til SQLInterface, som returnerer et java.sql.resultSet. Dette resultset tømmes for data, som gemmes i et to-dimensionelt array i TabelObjekt-objektet (ja - TabelObjekt er et tåbeligt navn).

Når dette er tilendebragt, returneres TabelObjekt-objektet til den forespørgende klasse, som kan hente alle relevante informationer ud af den:
Tabelfeltnavne (med de relevante tabelnavne som præfix, f.eks. \"Tabelnavn.Tabelfeltnavn\")
Tabelnavne
Tabelfeltdatatyper
En enkelt resultatrække
Hele resultatsættet (alle søgeresultater)

Den største ulempe, jeg har fundet, ved dette system, er at hvis jeg laver en join-søgning, så ender jeg ofte med flere ens resultatrækker ... det har jeg ikke lige fundet en løsning på endnu ...
Avatar billede martin_schou Nybegynder
28. september 2001 - 12:22 #3
Excel-databaser? Hvad er det?

Excel er et regneark, er det ikke?

Håber, at min kommentar ovenfor giver et bedre indryk af, hvad jeg er ude efter.
Avatar billede martin_schou Nybegynder
28. september 2001 - 12:28 #4
*!*!*!*!*

[bandeord] [ukvemsord]

det var sgu da den forkerte gruppe, den her røg i.
Avatar billede janvogt Praktikant
28. september 2001 - 12:29 #5
Ja, Excel er et regneark :-)
Spørgsmålet er oprettet under \"Regneark\", hvor det næsten udelukkende er Excel der omtales.

I Excel er der mulighed for at håndtere mindre databaser op til 65.536 poster. Er der flere, vil jeg bestemt anbefale Access.
Avatar billede martin_schou Nybegynder
28. september 2001 - 12:32 #6
Beklager forvirringen ... på en eller anden måde, røg mit indlæg ind under den forkerte gruppe.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester