Avatar billede torotune Nybegynder
11. marts 2008 - 23:36 Der er 7 kommentarer og
1 løsning

Simpelt Data Access Layer

Hejsa,

Jeg ville høre om der var nogen der havde gode råd omkring opbygning af et helt simpelt DAL. Altså hvor man f.eks. har en fil i sin App_Code der hedder DataClass.vb med en class, hvor der er de mest gængse funktioner/metoder, dvs med:

ExecuteReader()
ExecuteNonQuery()
ExecuteScalar()
og et der returnerer et helt DataSet.

Man kan så kalde disse (alt efter hvilken man står og skal bruge) fra hvilken som helst webform i sit projekt ved at pass'e en Sql-sætning ind som parameter.

Eksempelvis via kald som dette med funktionen GetScalarValue()der
udfører en cmd.ExecuteScalar() :

På webformen:

Dim c as new DataClass()
Dim strSql as String = "SELECT navn From Bruger WHERE Id = 4"
label1.Text = c.GetScalarValue(strSql)

I klassen DataClass:

Public function GetScalarValue(ByVal strSql as string) as String
Using con as new sqlConnection(connectionString) 
Dim cmd as sqlCommand(strSql, con)
  return = cmd.ExecuteScalar()
End Using
End Function

Her returneres jo kun én værdi, så den kunne jeg godt forestille mig. Men hvad hvis der returneres flere records fra en Reader eller et helt DataSet?

Hvordan kunne sådan noget laves mest smart, med mindre man skal over i strongly typed dataset (.xsd-filer).

Mvh. =)
Avatar billede arne_v Ekspert
11. marts 2008 - 23:57 #1
Har du kigget på DAAB ?

(Microsoft Data Access Application Block)
Avatar billede torotune Nybegynder
12. marts 2008 - 07:08 #2
Det lyder i hvert fald som noget af det jeg søger, jeg kigger lige på det :-)

Kan jeg bruge det med en Access-database også?
Avatar billede torotune Nybegynder
12. marts 2008 - 07:16 #3
Avatar billede arne_v Ekspert
12. marts 2008 - 13:58 #4
Kender den ikke. DAAB kommer med support for en hel stribe database. Jeg kan ikke huske
om OleDb er en af dem. Check det. Hvis ikke er det ret nemt at klone.
Avatar billede torotune Nybegynder
18. marts 2008 - 09:44 #5
Ok - jeg starter med at prøve DAAB. Det er i hvert fald noget i den stil jeg skal have fat i, som også kan tage SQLParametre. Jeg er bare ikke helt sikker på hvordan jeg skal installere det, skal man ind og add'e en WebReference?
Avatar billede torotune Nybegynder
20. marts 2008 - 22:47 #6
Du kan bare smide et svar Arne, jeg vender tilbage i et nyt spørgsmål hvis der dukker problemer op med det :-)
Avatar billede arne_v Ekspert
21. marts 2008 - 00:04 #7
Nu har jeg kun en ret gammel version af enterprise library installeret. Men i den skal
man ind og lave en reference til en assembly. Og det må man vel også skulle i en nyere
version.

Og et svar.
Avatar billede torotune Nybegynder
21. marts 2008 - 10:18 #8
Ok, det prøver jeg. Takker for hjælpen!
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