HDSoftware Skrevet 21. mars 2007 Del Skrevet 21. mars 2007 (endret) Heisan Jeg har laget en enkel ACCESS fil med en tabell Postteder som har feltene ID (tall), Postnr (Tekst) og Poststed (Tekst) Så har jeg satt på et DatagridView og følgende kode i formen: Imports System.Data.OleDb Public Class Form1 Private Command As OleDbCommand Private DataAdapter As OleDbDataAdapter Dim DataSet As DataSet Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Testbase.mdb;User Id=;Password=;" Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Insert record Me.Command = New OleDbCommand("INSERT INTO Poststeder (Postnr, Poststed) VALUES (?, ?)") Me.Command.Parameters.Add(New OleDbParameter("@p1", OleDbType.VarChar).Value = Me.txtPostnr.Text) Me.Command.Parameters.Add(New OleDbParameter("@p2", OleDbType.VarChar).Value = Me.txtPoststed.Text) Me.Command.Connection.Open() Me.Command.ExecuteNonQuery() Me.Command.Connection.Close() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Command = New OleDbCommand("SELECT * FROM Poststeder", New OleDbConnection(ConnectionString)) Me.DataAdapter = New OleDbDataAdapter(Me.Command) Me.DataSet = New DataSet Me.Command.Connection.Open() Me.DataAdapter.Fill(Me.DataSet) Me.Command.Connection.Close() Me.DataGridView1.DataSource = Me.DataSet.Tables(0).DefaultView End Sub Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Command.Connection.Open() Me.DataAdapter.Update(Me.DataSet) Me.Command.Connection.Close() End Sub End Class Koden bak Load fungerer helt perfekt og data kommer frem. Problemet er derimot rutinene for INSERT og UPDATE. Disse feiler. Noen so raskt kan fortelle meg hvorfor? For orden skyld så ligger prosjektet som et vedlegg. Ole Databsetest.zip Endret 21. mars 2007 av HDSoftware Lenke til kommentar
HDSoftware Skrevet 22. mars 2007 Forfatter Del Skrevet 22. mars 2007 Ok. Fant svaret selv. Hele situasjonen med OLEDB er bare tull og tøys og helt unødvendig. VB gjør dette helt automatisk og eneste man trenger å skrive er: ValgtTableAdapter.Insert(me.txtPostnr.text, me.txtPoststed.text) Forutsatt at man har laget seg et table adapter så klart, men det er jo også noe VB gjør helt automatisk. Pussig at ingen har nevnt dette før?!?! Jeg kan da huske at jeg har etterspurt nettop dette mange ganger tidligere. Er det virkelig ingen som visste dette? Ole Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå