Avatar billede simsen Mester
18. august 2007 - 09:18 Der er 2 kommentarer og
1 løsning

Databasekald på den korrekte måde

Hej,

Nu vil jeg altså lære at bruge den indbyggede funktion til databasekald mm i VS2005.

Jeg har en bog, der åbenbart bruges til 2003 istedet for 2005;

Den skriver nemlig at jeg skal drag'n'drop tabeller til en web form og så redigerer i data adapteren og så på de andre sider bruge cache variabler for at tilgå de forskellige tabeller.

Men når jeg drag'n'dropper en tabel over i en webform i VS2005 fra Solution Explorer, så indsætter den en datagridview istedet.

Nu vil jeg umådelig meget gerne lære den mest hensigtsmæssige måde, at tilgå en database fra start af.

Skal jeg bare drag'n'drop de tabeller jeg har brug for, på de enkelte sider, eller skal jeg smide dem alle på en side, for så at lave et eller andet cache halløj? Hvis det er det sidste, hvordan?

Jeg skal ikke have hvad der er lettest, men hvad der er mest korrekt programmeringsmæssigt.

Hvis jeg nu f.eks. har flere sider, med nøjagtig samme sql statement, vil jeg nødig (ja, jeg er doven) skulle ind på samtlige sider og ændre disse. Det ville jeg gerne kunne klare bare ét sted fra?

mvh
simsen :-)
Avatar billede mochr Nybegynder
18. august 2007 - 11:36 #1
Hvis du vil genbruge den samme sql sætningen igen og igen, kan du jo lave en stored procedure. Jeg bruger altid stored procedure til alt hvad jeg laver.

Du kan osse lave en usercontrol der fx har et gridview med data i, også smide den ind på alle de sider du vil vise det data.

Nu spørger du om hvad der er den "korrekte" måde at gøre det på. Der er mange måder at gøre det på, og ikke som sådan en korrekt måde.

Jeg vil dog mene det er bedst at lave en classe der kan styre alle dine db kald.
Hvis man skal lave noget hurtig er drop'n'drop jo fint nok. Men til store sites vil jeg nok ikke anbefalde det. Jeg har dog bruget sqldatasouces meget i mine projektor.
Avatar billede simsen Mester
18. august 2007 - 16:13 #2
mochr

Du skriver, du tilgår med stored procedures....... Så skal du jo tilgå databasen fra codebehind eller tager jeg meget fejl? KAN man oprette en forbindelse som bogen lærer en, og så bruge stored procedures?

Det skal lige tilføjes, det jeg gør nu, er at have en/flere klasser, hvor jeg tilgår min database med forskellige kald og så henter det derfra fra de forskellige sider, så jeg kun har et kald, jeg genbruger.......Men har herinde fået at vide, at det er en forkert måde, jeg skal bruge systemets indbyggede funktioner. Det skal så tilføjes, jeg har da også fundet et par restriktioner, ved min måde.....jeg kan eksempelvis bare ikke få sorting til at fungere i et gridview

mvh
simsen :-)
Avatar billede mochr Nybegynder
18. august 2007 - 16:42 #3
Du kan sammenligen en sp med en almindelig sql sætningen. SPen ligger på serveren med en sql sætningen inde i sig. Så i stedet for at skirve en sql sætning hver gang, kan du bare tilgå den sp på næsten samme måde.

Når du har en sqldatasource, kan du vælge om du vil skrive en sql sætning heller om du vil bruge en stored procedure. Det funker på samme måde.
Der er klart flere fordele ved at bruge stored procedures, end at have en masse sql kode i sit projekt.

Jeg vil ikke sige det er forkert at have en klasse der styre alt ens kald til en database. Især ikke hvis det er et stort projekt. Det er jo nemmere at styre det et sted, end at have en masse sqldatasources over alt i projektet.
Til små projekter bruger jeg faktisk altid de indbygede sqldatasources der er i .net, sammen med stored procedures.
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