Avatar billede ulle55 Nybegynder
20. september 2005 - 23:03 Der er 3 kommentarer og
1 løsning

Newbie: Connect til Access db

Skal lige sige til at starte med, at jeg er total ny i vb sproget.

Hvordan connecter jeg til en Access database???
Avatar billede arne_v Ekspert
20. september 2005 - 23:07 #1
der er utallig emuligheder i .NET

en af de aller simpleste:

Imports System
Imports System.Data.OleDb

Class MainClass
    Public Shared Sub Main(ByVal args As String())
        Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database\MSAccess\Test.mdb;User Id=admin;Password=")
        con.Open
        Dim cmd As OleDbCommand = New OleDbCommand ("SELECT * FROM T1", con)
        Dim rdr As OleDbDataReader = cmd.ExecuteReader
        While rdr.Read
            Dim f1 As Integer = CType(rdr(0), Integer)
            Dim f2 As String = CType(rdr(1), String)
            Console.WriteLine(f1 & " " & f2)
        End While
        con.Close
    End Sub
End Class
Avatar billede thlund Nybegynder
05. oktober 2005 - 15:11 #2
Jeg bruger den wizard der er indbygget i VB.NET.
At beskrive hvordan er lidt omfattende, men den
giver dig en masse features gratis.

Højreclick i Solution Explorer vinduet hvor du vil ha' din form/klasse. Vælg "Add", "Add new item". I dialogen vælger du "Data Form wizard". Tryk "Next", gi dit datasæt et navn og tryk "Next". Tryk "New connection", vælg "provider" faneblad og vælg Jet 4.0 og tryk "Next". Browse til din database og tryk "ok". Vælg de tabeller du vil have og tryk Next.

Den sidste del er om den form som den synes den skal lave. jeg er ikke interesseret i formen i sig selv, så jeg trykker bare "Finish".
Formen bliver nu lavet og der er nogle boxe og skrammel på den. Jeg fjerner det hele og dobbeltclicker på formen for at gå ind i koden.
Derinde har den lavet en del kode til at connecte, opdatere etc.
Jeg laver nogen rettelser : Fjerner "Inherits..." øverst - bemærk at det nu ikke længere er en form, men blot en klasse. Det giver anledning til at der er nogen fejl i den kode som wizarden har lavet : Fjern formen's _Load (som den skabte da du dobbeltclickede, Åben "Windows form designer generated code" (top) og fjern "... Sub Dispose" og "Private components as system.componentmodel.IContainer" (begge nær top). Endelig, Nederst i sub InitializeComponent er der noget kode som vedrører de controls du fjernede på formen. Fjern det.

Der er tre subs der starter med btn.., de blev brugt af knapperne på formen til at hente, gemme og opdatere datasættet. Dem kan du omforme til dine egne subs/functions til det samme.

Lidt langt, men du har nu en classe som du kan lave en instans af og som indeholder datasættet og hvor du kan lave funtioner til at pille data ud af.
Avatar billede ulle55 Nybegynder
05. oktober 2005 - 15:23 #3
Det virker. tak
Avatar billede thlund Nybegynder
05. oktober 2005 - 21:19 #4
Mit ?
Godt at du kunne bruge det. Faktisk er jeg selv en amatør, men VB.NET har tilladt mig en enorm (når jeg nu selv skal sige det) udvikling det sidste år. Fantastisk værktøj.
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