Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: vb2008 ja access recordset

Rypsi [21.09.2010 20:21:25]

#

Moikka,
minulla on pienehkö ongelma, vb6 yhteys accesiin onnistu helpostikkin, mutta nyt vb2008 ei meinaa millään onnistua. Recordset.addnew ei tee mitään kantaan, mutta ei tule myöskään mitään virheilmoa, toiste päin homma pelittää eli luetaan kannasta text1.text = rs.fields("kenttänimi").value
mikä voi olla vika addnew osassa??

Option Explicit On

Imports ADODB

Imports ADODB.LockTypeEnum

Imports ADODB.CursorTypeEnum

Imports ADODB.CommandTypeEnum

Imports ADODB.CursorLocationEnum

Imports ADODB.EditModeEnum

Imports ADODB.ExecuteOptionEnum

Imports ADODB.SaveOptionsEnum

Imports System.IO

Public Class PeliTilasto

    Inherits System.Windows.Forms.Form

    Private Yhteys As New ADODB.Connection

    Private Rs As New ADODB.Recordset

    Private strSQL As String

    Private HasNotConnected As Boolean = False

    Private HasConnected As Boolean = True

    Private Sub PeliTilasto_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Yhteys.State = HasNotConnected Then

            Yhteys.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Omatohjelmat\Liiga\SM-Liiga\Tietokanta\liigakehitys.mdb;"

            Yhteys.Open()

        End If

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        strSQL = "SELECT joukkue1 FROM yleistiedot"

        Rs.Open(strSQL, Yhteys, CursorTypeEnum.adOpenDynamic, LockTypeEnum.adLockOptimistic)

        With Rs

            .AddNew()

            .Fields("joukkue1").Value = TextBox1.Text

            .Update()

        End With

        Rs.Close()

        Yhteys.Close()

        End

    End Sub

Etukäteen jo kiittäen
Mika

Mod. lisäsi kooditagit

Grez [21.09.2010 21:27:09]

#

Huh-hellettä kirjoitti:

Moikka,
Recordset.addnew ei tee mitään kantaan, mutta ei tule myöskään mitään virheilmoa, toiste päin homma pelittää eli luetaan kannasta text1.text = rs.fields("kenttänimi").value

Käsittääkseni AddNew() ei pitäisikään tehdä mitään, vaan vasta Update()

Laita koodi Try lohkon sisään ja Catchaa mahdollinen poikkeus..

Rypsi [22.09.2010 13:34:30]

#

Moikka,

Ongelma ratkaisu löytyi, LockTypeEnum.adLockOptimistic piti muuttaa LockTypeEnum.adLockBatchOptimistic ja update pitää olla .UpdateBatch niin jo pelittää.
T.Mika

Rypsi [22.09.2010 15:37:39]

#

Lisäys,
Lisäksi kannattaa laittaa vielä .requery .updatepatch jälkeen
T.mika

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta