CeLiCiUm Skrevet 16. mars 2004 Del Skrevet 16. mars 2004 (endret) Update requires a valid UpdateCommand when passed DataRow collection with modified rows. Jeg får denne feilmeldinga når jeg skal oppdatere et dataset mot et Accessbase. Har lest meg grønn å blå på diverse sites, og sett på kode, men ingenting hjelper. Om noen ser noen synlige feil, eller har løsninger på hva jeg kan gjøre, så er jeg hjertlig takknemmlig for det. Public Sub sqlPostnr() kobleTil() Try selectCmd = New OleDbCommand() selectCmd.CommandText = "SELECT txtPostnr, txtPoststed FROM tblPostnr" selectCmd.Connection = con insertCmd = New OleDbCommand() insertCmd.CommandText = "INSERT INTO tblPostnr(txtPostnr, txtPoststed) VALUES (?,?)" insertCmd.Connection = con insertCmd.Parameters.Add(New OleDbParameter("@txtPostnr", OleDbType.VarWChar, 4, "txtPostnr")) insertCmd.Parameters.Add(New OleDbParameter("@txtPoststed", OleDbType.VarWChar, 30, "txtPoststed")) updateCmd = New OleDbCommand() updateCmd.CommandText = "UPDATE tblPostnr SET txtPostnr = ?, txtPoststed = ? WHERE txtPostnr = ?" updateCmd.Connection = con updateCmd.Parameters.Add(New OleDbParameter("@txtPostnr", OleDbType.VarWChar, 4, "txtPostnr")) updateCmd.Parameters.Add(New OleDbParameter("@txtPoststed", OleDbType.VarWChar, 30, "txtPoststed")) updateCmd.Parameters.Add(New OleDbParameter("@oldPostnr", OleDbType.VarWChar, 4, "txtPostnr")) deleteCmd = New OleDbCommand() deleteCmd.CommandText = "DELETE FROM tblPostnr WHERE txtPostnr = ?" deleteCmd.Connection = con deleteCmd.Parameters.Add(New OleDbParameter("@txtPostnr", OleDbType.VarWChar, 4, "txtPostnr")) postnrDA = New OleDbDataAdapter() postnrDA.DeleteCommand = deleteCmd postnrDA.SelectCommand = selectCmd postnrDA.InsertCommand = insertCmd postnrDA.UpdateCommand = updateCmd postnrDS = New DataSet() postnrDA.Fill(postnrDS, "tblPostnr") sqlOppdaterPostnr() Dim antall As Integer antall = postnrDS.Tables("tblPostnr").Rows.Count frmPostnr.OppdaterFelt() frmPostnr.dgrid.SetDataBinding(postnrDS, "tblPostnr") Catch feil As Exception MessageBox.Show(feil.Message) End Try End Sub Editert: var noen gamle linjer som ikke skulle være her i innlegget. Jeg mener jo også at dette skal se greit ut, men det mener ikke VB. Endret 17. mars 2004 av CeLiCiUm Lenke til kommentar
alftore Skrevet 16. mars 2004 Del Skrevet 16. mars 2004 Dette ser jo egentlig greit ut updateCmd = New OleDbCommand() updateCmd.CommandText = "UPDATE tblPostnr SET Postnr = ?, Poststed = ? WHERE oldPostnr = ?" updateCmd.Connection = con updateCmd.Parameters.Add(New OleDbParameter("@txtPoststed", OleDbType.VarWChar, 30, "txtPoststed")) updateCmd.Parameters.Add(New OleDbParameter("@txtPostnr", OleDbType.VarWChar, 4, "txtPostnr")) men så setter du command teksten til noe annet og legger til enda flere parametere. updateCmd.CommandText = "UPDATE tblPostnr SET txtPoststed = ? WHERE txtPostnr = ?" updateCmd.Parameters.Add(New OleDbParameter("@txtPoststed", OleDbType.VarWChar, 30, "txtPoststed")) updateCmd.Parameters.Add(New OleDbParameter("@txtPostnr", OleDbType.VarWChar, 4, "txtPostnr")) 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å