Kenny Bones Skrevet 9. august 2009 Del Skrevet 9. august 2009 (endret) 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 9. august 2009 av Kenny Bones Lenke til kommentar
kaffenils Skrevet 13. august 2009 Del Skrevet 13. august 2009 SQL statementet i UpdateCommand e jo helt snodig. Hvorfor ser det slik ut? 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å