Avatar billede darth-domino Nybegynder
28. juni 2005 - 14:54 Der er 15 kommentarer og
1 løsning

Newbie Spørsmål ang Access og VB.net

Det skal lige siges at jeg er TOTAL Newbie indenfor VB.net!

Jeg brugt VB 6.0 før, og skal til at lave nogen af mine gamle programmer om til VB.net

Det med basis egenskaberne finder jeg stille og roligt ud, MEN...

Hvordan får jeg den til at åbne en database, måske kigge i en tabel der hedder TABELTEST, kigge i kolonnen KOLONNETEST, efter navnet KURT!

Er nogen der kan lave et smart lille eks på det, så jeg kan se ideen i det???
Avatar billede arne_v Ekspert
28. juni 2005 - 15:00 #1
2 super simple eksempler på database udtræk:

med data reader:

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

og med data adapter + data set + data grid:

Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Drawing
Imports System.Windows.Forms

Namespace DefaultNamespace
    Public Class MainForm
        Inherits Form
        Private dg As DataGrid
        Private save As Button
        Private con As OleDbConnection
        Private da As OleDbDataAdapter
        Private cb As OleDbCommandBuilder
        Private ds As DataSet

        Public Shared Sub Main
            Dim fMainForm As New MainForm
            fMainForm.ShowDialog()
        End Sub

        Public Sub New()
            MyBase.New
            Me.InitializeComponent
        End Sub

        Private Sub InitializeComponent()
            con = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database\MSAccess\Test.mdb;UserId=admin;Password=")
            con.Open
            da = New OleDbDataAdapter("SELECT * FROM T1", con)
            cb = New OleDbCommandBuilder(da)
            da.UpdateCommand = cb.GetUpdateCommand
            ds = New DataSet
            da.Fill(ds, "T1")
            dg = New DataGrid
            save = New Button
            SuspendLayout
            dg.Location = New Point(50, 50)
            dg.Size = New Size(300, 200)
            dg.SetDataBinding(ds, "T1")
            save.Location = New Point (50, 300)
            save.Size = New Size (100, 25)
            save.Text = "Save"
            AddHandler save.Click, AddressOf SaveClick
            ClientSize = New Size(400, 400)
            Controls.Add(dg)
            Controls.Add(save)
            Text = "Main Form"
            ResumeLayout(false)
        End Sub
       
        Sub SaveClick(ByVal sender As Object, ByVal e As EventArgs)
            da.Update(ds, "T1")
            ds.AcceptChanges
            dg.Refresh
        End Sub
    End Class
End Namespace
Avatar billede darth-domino Nybegynder
28. juni 2005 - 15:04 #2
?
Avatar billede darth-domino Nybegynder
28. juni 2005 - 15:05 #3
Det der er TOTAL sort snak for mig!

Sådan her gjorde jeg i VB 6.0

SQL_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=I:\CRM\DATA\DATA\data.mdb;"

Set rsSQLKundeOPSLAG = New ADODB.Recordset
sql = "SELECT * FROM kunder where konto ='" & lst_SQL.Text & "'"
rsSQLKundeOPSLAG.Open sql, SQL_STRING

    TXT_Konto.Text = rsSQLKundeOPSLAG("konto")
    TXT_Adresse1.Text = rsSQLKundeOPSLAG("adresse1")
    TXT_Adresse2.Text = rsSQLKundeOPSLAG("adresse2") & ""
    TXT_By.Text = rsSQLKundeOPSLAG("by")
    TXT_Land.Text = rsSQLKundeOPSLAG("land")
   
rsSQLKundeOPSLAG.Close
Avatar billede arne_v Ekspert
28. juni 2005 - 15:10 #4
lad mig prøv eat forklare

        ' åben connection til Access database - bemærk connection 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
       
        ' lav SQL kommando med SELECT statement
        Dim cmd As OleDbCommand = New OleDbCommand ("SELECT * FROM T1", con)

        ' udfør SQL kommando og hent data reader (svarer lidt til record set)
        Dim rdr As OleDbDataReader = cmd.ExecuteReader

        ' læs en række af gangen
        While rdr.Read

            ' hent første kolonne som integer
            Dim f1 As Integer = CType(rdr(0), Integer)

            ' hent anden kolonne somn string
            Dim f2 As String = CType(rdr(1), String)

            ' udskriv
            Console.WriteLine(f1 & " " & f2)
        End While

        ' luk data reader
        rdr.Close

        ' luk connection
        con.Close
Avatar billede darth-domino Nybegynder
28. juni 2005 - 15:11 #5
Øhh... jow!

Men hvis nu jeg evt gerne vil have resultatet i en listebox?
Avatar billede arne_v Ekspert
28. juni 2005 - 15:27 #6
su kan du enten bruge en data reader og tilføje items til din list box eller
du kan  assigneb et data set til dens data source property
Avatar billede darth-domino Nybegynder
28. juni 2005 - 15:30 #7
Ok... SKAL man lave sådan noget?

Jeg er slet ikke vant til at bruge den Componenter som var med i VB 6.0, Kan man ikke ved en søgning søge via SQL kodning som i VB 6.0?

Jeg synes godt nok ikke at VB.net er HALV så "lige til" som det gamle VB...
Avatar billede arne_v Ekspert
28. juni 2005 - 15:56 #8
VB.NET er nok også lidt sværere end VB6 (men kan så til gengæld også så meget mere)

og alle sprog er svære at komme igang med

må jeg spørge hvad du bruger af bog/tutorial ?
Avatar billede darth-domino Nybegynder
28. juni 2005 - 16:00 #9
Jeg har ingen læsestof overhovedet!

Kan du anbefalde en?
Avatar billede arne_v Ekspert
28. juni 2005 - 16:18 #10
Wrox udgiver gode .NET bøger

online - Google finder bl.a.:

http://msdn.microsoft.com/vbasic/downloads/samples/default.aspx

http://www.vbdotnetheaven.com/

(den sidste ser dog ikke så begynder venlig ud)
Avatar billede darth-domino Nybegynder
29. juni 2005 - 08:38 #11
Er der ikke nogen gode Start bøger?
Avatar billede arne_v Ekspert
29. juni 2005 - 08:41 #12
Wrox har en "Beginning VB.NET 2003" som jeg formoder matcher det du efterspørger
Avatar billede arne_v Ekspert
29. juni 2005 - 09:18 #14
Dem kender jeg ikke

(de 2 første er C# !?)
Avatar billede darth-domino Nybegynder
06. juli 2005 - 11:57 #15
Lukker
Avatar billede soeni05 Nybegynder
18. januar 2007 - 23:13 #16
hmm.. burde den ikke gå til arne_v ??
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