Gå til innhold

Problemer med skriving/oppdatering av accessbase


Anbefalte innlegg

Hei, jeg prøver å få til noe som man skulle tro var kjempeenkelt. Men av en eller annen grunn så støter jeg hele tiden på problemer. Jeg har et prosjekt i VB.NET som hovedsaklig består av et form med masse tekstbokser og noen få knapper. Og en datagridview.

 

Så har jeg lagd en DataSourceDataSet via veiviseren og koblet datagridviewen mot denne.

Deretter har jeg databinded hver tekstboks til den kolonnen jeg ønsker i databasen.

 

Men så har jeg en knapp for å oppdatere verdiene og da skjer merkelig ting.

Jeg har forsøkt litt frem og tilbake med følgende kode, men har variert så mye og jeg er ikke helt sikkert hva som skal være hvor og i hvilken rekkefølge disse skal komme (om de skal/trenger å være der)

 

Knappen som oppdaterer gjør følgende:

        Try
           Me.BindingContext(DataSourceDataSet, "Sanger").EndCurrentEdit()
           Me.SangerTableAdapter.Update(Me.DataSourceDataSet.Sanger)
           Me.DataSourceDataSet.Sanger.AcceptChanges()

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try

 

For det første så virker det som om det kun er den første raden som blir oppdatert.

Til tider får jeg også en feilmelding:

Concurrency violation: the UpdateCommand affected 0 of the expected 1 records.

 

Såvidt jeg har forstått det så forsøker jeg å fyre av en UpdateCommand mens en annen lik prosess jobber. Dermed kommer feilen. Men jeg forstår ikke hva det er som gjør at det skjer?

Jeg får også denne feilmeldingen når jeg forsøker å oppdatere via knappen

 

Ikke samsvar mellom datatyper i vilkårsuttrykk

 

Alt ellers er helt basic og standard. Jeg har hovedsaklig ikke skrevet noen egen kode for noe av dette, men leste at det kan være SQL-kommandoene som sliter litt. Spesielt UpdateCommand.

 

UpdateCommand ser slik ut:

UPDATE       Sanger
SET                Navn = ?, Sjanger = ?, Rytme = ?, Lengde = ?, Ferdig = ?, Lydfil = ?, Tekst = ?, Akkorder = ?, Notat = ?
WHERE        (ID = ?) AND (? = 1 AND Navn IS NULL OR
                        Navn = ?) AND (? = 1 AND Sjanger IS NULL OR
                        Sjanger = ?) AND (? = 1 AND Rytme IS NULL OR
                        Rytme = ?) AND (? = 1 AND Lengde IS NULL OR
                        Lengde = ?) AND (? = 1 AND Ferdig IS NULL OR
                        Ferdig = ?) AND (? = 1 AND Lydfil IS NULL OR
                        Lydfil = ?) AND (? = 1 AND Tekst IS NULL OR
                        Tekst = ?) AND (? = 1 AND Akkorder IS NULL OR
                        Akkorder = ?) AND (? = 1 AND Notat IS NULL OR
                        Notat = ?)

 

Noe som kunne vært gjort annerledes? Om noen vil se prosjektet i Visual Studio eller noe så er det 'no stress' å zippe prosjektet også, for det veier nesten ingenting :)

Endret av Kenny Bones
Lenke til kommentar
Videoannonse
Annonse

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...