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???
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
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.
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.