Jump to content
Sign in to follow this  
CeLiCiUm

Update requires a valid UpdateCommand...

Recommended Posts

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.

Edited by CeLiCiUm

Share this post


Link to post

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"))

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...