Avatar billede Mads Larsen Nybegynder
05. november 2009 - 15:58 Der er 3 kommentarer og
1 løsning

SQLce reader

Hej med jer

Mit problem er at SqlCeDataReader virker ret langsom, jeg bruger

Dim Reader As SqlCeDataReader

While reader.read

Dim Test 1 = reader.item(1)
..
Dim Test 10 = reader.item(10)

loop


Jeg har så nogen andre ting i den også, men jeg har prøvet at "tage" disse reader.item ud af mit program, derefter går funktionen hurtig.

Mit spørgsmål er så om der er en bedre og hurtigere måde at få sine data fra min .sdf fil ud på?
Avatar billede arne_v Ekspert
06. november 2009 - 00:43 #1
Det er usandsynligt at der er noget hurtigere end reader. Stort set alt andet bygger oven på reader.

Må vi se den faktisk kode ?
Avatar billede Mads Larsen Nybegynder
06. november 2009 - 08:09 #2
'Åbner forbindelsen til databasen
Dim ConnStr As New SqlCeConnection("Data Source="C:\Database.sdf")

ConnStr.Open()

Dim cmd_All_Data As New SqlCeCommand("SELECT * FROM Data ORDER BY AKTIV", ConnStr)
        Dim Reader As SqlCeDataReader
        Reader = cmd_All_Data.ExecuteReader

        Dim SQLCmd As New SqlCeCommand()
        Dim SQLStr As String
        SQLCmd.Connection = ConnStr

While Reader.Read


            Dim AutoAfs = 0
            Dim AnskPrimo = 0
            Dim AkkPrimo As Double = 0
            Dim RestLevetid = 0
            Dim AnskUltimo = 0
            Dim AkkUltimo = 0
            Dim TilgangIalt = 0
            Dim AfgangIalt = 0
            Dim ÅretsManAfskr = 0
            Dim AfskrVedrSalg As Double = 0
            Dim BogførtVærdi = 0
            Dim ÅretsTilgang = 0
            Dim ÅretsAfgang = 0
            Dim ScrapVærdi = 0
            Dim FortjenesteVedSalg = 0
            Dim ÅretsAfskrivning = 0
            Dim Aktiv = 0
            Dim Afskrivning As Double = 0
            Dim Salgspris = 0

            AnskPrimo = Reader.Item(4)
            AkkPrimo = Reader.Item(8)
            RestLevetid = Reader.Item(2)
            TilgangIalt = Reader.Item(5)
            AfgangIalt = Reader.Item(6)
            ÅretsManAfskr = Reader.Item(9)
            BogførtVærdi = Reader.Item(14)
            ScrapVærdi = Reader.Item(3)
            Aktiv = Reader.Item(19)
            Salgspris = Reader.Item(15)

"Så kommer der lige lidt mere efterfølgende, men det er de her som tager langtid at loade ind"


loop
Avatar billede arne_v Ekspert
06. november 2009 - 17:23 #3
Maaske kunne du spare lidt ved at liste de kolonner, som du faktisk skal bruge fremfor at hente alle.

SELECT * FROM ...

->

SELECT felt1,felt2,... FROM ...
Avatar billede arne_v Ekspert
04. december 2009 - 20:45 #4
OK ?
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
Kurser inden for grundlæggende programmering

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