Avatar billede fun22 Nybegynder
25. maj 2008 - 17:37 Der er 7 kommentarer og
1 løsning

Smartere måde at lave connection på?

Hej

Når jeg roder i min database på den ene eller anden måde, så har jeg hver gang følgende:

Dim Connstr As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
            Dim Connection As New SqlConnection(Connstr)
            Dim Sql As String

            Sql = "....."
            Dim command As New SqlCommand(Sql, Connection)

Selvfølgelig med forskellige Sql linier...

Så kom jeg til at tænke på om der er en smartere måde at lave det på.. Måske i en ekstern fil, så man kunne kalde det med:

MyConnection("SELECT from.....")

Eller et eller andet i den dur..
Avatar billede 2c Nybegynder
25. maj 2008 - 21:37 #1
Der er mange smartere måder at gøre det på. En af dem er at bruge en O/R mapper. Der er en indbygget i .NET frameworket. Læs lidt om det her: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
Avatar billede fun22 Nybegynder
26. maj 2008 - 07:55 #2
Tak for hintet... Men kan det kun bruges i 3.5 frameworket?
Avatar billede 2c Nybegynder
26. maj 2008 - 10:15 #3
Ja
Avatar billede torotune Nybegynder
26. maj 2008 - 18:41 #4
Prøv at kigge på DAAB (The Enterprise Library Data Access Application Block)

Beskrivelse af hvordan det fungerer er f.eks. her: http://aspnet.4guysfromrolla.com/articles/030905-1.aspx
http://msdn.microsoft.com/en-us/magazine/cc188705.aspx

- Her kan du (efter man lige har fået ud af at sætte det korrekt op) komme ned på et kald til databasen på én linie =)
Avatar billede fun22 Nybegynder
26. maj 2008 - 20:41 #5
2c > Okay, jeg har nu opdateret til 3.5...

Jeg har fået lavet det her:

Dim db As New mySQLDataContext
        Dim dbPage = From p In db.Pages _
                    Where p.Id = PageID Or p.PageFix = PageFix _
                    Select p

Men jeg kan jo ikke smide min dbPage i en sqlDataReader.. Hvordan får jeg så læst mine felter fra koden?

Ligesom jeg kunne med

If (Reader.Read) Then
...
Avatar billede fun22 Nybegynder
26. maj 2008 - 22:12 #6
Okay jeg fik det så til at virke nu, med følgende:

Dim db As New mySQLDataContext
        Dim myPage = From p In db.myPages Where p.Id = PageID Or p.PageFix = PageFix Select p

        For Each p In myPage
            Literal1.Text = p.Body
            Page.Title = p.Title
        Next

Men hvordan med sql injections?? Er der taget højde for det?
Avatar billede 2c Nybegynder
26. maj 2008 - 22:20 #7
Puha, et godt spørgsmål. Men en hurtig søgning på google, siger at der er taget højde for det.

Prøv eventuelt at se her: http://weblogs.asp.net/scottgu/archive/2006/08/27/Building-and-using-a-LINQ-for-SQL-Class-Library-with-ASP.NET-2.0.aspx. Søg på injections på siden.

Hvis Scott Guthrie siger det, er det nok rigtigt nok :-)
Avatar billede fun22 Nybegynder
26. maj 2008 - 22:39 #8
Den fandt nu ikke lige noget med den søgning ;) men har plejer at have ret :)
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



IT-JOB