Hej! En spontan tanke är att ditt uppdateringskommando kanske försöker fippla med PersonId-kolumnen - vilket den inte får eftersom det är en autonumber? Har du möjlighet att visa lite av koden som körs? Tack för det snabba svaret, här kommer koden. Jag är rätt säker på att den inte ska fippla med PersonID men jag kan ju ha fel. Det funkar inte heller om jag skriver in ID-numret direkt i frågan, det har jag redan testat. Får du något felmeddelande om du använder en try-catch sats? Jag har hittat en lösning men jag vet inte varför den fungerar. Genom att kommentera bort windowsUserName parametern så funkar allt felfritt. Jag hade redan testat det utan framgång, trodde jag. Kan någon förklara varför det inte fungerar om man har en parameter för mycket? Kan väl bero på att om det är en parameter för mycket, så hittar den inte den parametern i SQL-strängen, och därmed exekveras inte SQL:n. Om jag har en parameter för lite så kastas ett exception, inte annars. Jag har för övrigt också upplevt problem då parametrarna läggs till i fel ordning. Borde räknas som en bugg i biblioteket enligt mig.UPDATE funkar inte
Jag håller just nu på med en databasapplikation och har stött på ett problem: Inga UPDATE kommandon tycks fungera då jag väljer post baserat på PersonID som är ett autonumber-fält. Att välja poster efter någon annan kolumn funkar prima. Någon som vet vad jag gör knasigt?
Använder ADO.Net från VB om det har någon betydelse.Sv: UPDATE funkar inte
Sv:UPDATE funkar inte
dbCommand.CommandText = "UPDATE Persons SET " & _
"FirstName=@firstName, LastName=@lastName, Location=@location, " & _
"AccessRights=@accessRights WHERE PersonID=@personID"
dbCommand.Parameters.Add(New OleDbParameter("@firstName", person.FirstName))
dbCommand.Parameters.Add(New OleDbParameter("@lastName", person.LastName))
dbCommand.Parameters.Add(New OleDbParameter("@location", person.Location))
dbCommand.Parameters.Add(New OleDbParameter("@accessRights", person.AccessRights))
dbCommand.Parameters.Add(New OleDbParameter("@personID", person.PersonID))
dbConnection.Open()
dbCommand.ExecuteNonQuery()
Sv: UPDATE funkar inte
Btw. testa också att skriva ut sql-strängen så att du verkligen ser att den får värdet från personID. Sv: UPDATE funkar inte
dbCommand.Parameters.Add(New OleDbParameter("@firstName", person.FirstName))
dbCommand.Parameters.Add(New OleDbParameter("@lastName", person.LastName))
dbCommand.Parameters.Add(New OleDbParameter("@location", person.Location))
'dbCommand.Parameters.Add(New OleDbParameter("@windowsUserName", person.WindowsUserName))
dbCommand.Parameters.Add(New OleDbParameter("@accessRights", person.AccessRights))
dbCommand.Parameters.Add(New OleDbParameter("@personID", person.PersonID))
Sv:UPDATE funkar inte
Det borde rimligen kastas någon form av exception om du har en för mycket-för lite parameter. Sv: UPDATE funkar inte