Jag har problem med att uppdatera en accessdatabas. Läsa går bra, men lägga till en rad går inte. Samma kod fungerar om jag gör en windows applikation istället. Jag har taget ut den del av koden och bifogar. Vad är det jag missar? Hej. Hittade själv en lösning som fungerar. Asp.net skapar tydligen ett användar konto som heter aspnet_wp account. Jag ändrade på behörigheten och sen fungerade det Uppdatera accessdatabas
'Deklaration av objekt och variabler
Dim strConn As String = "PROVIDER=Microsoft.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("qoute.mdb") & ";"
Dim strSql As String = "SELECT * FROM tblQoute"
'Skapar en anslutning till databasen
Dim connQoute As New OleDbConnection(strConn)
'Skapar en dataadapter
Dim adpQoute As New OleDbDataAdapter(strSql, strConn)
'Skapar en commandbuilder
Dim cmdBuilder As New OleDbCommandBuilder(adpQoute)
'Skapar ett dataset
Dim setQoute As New DataSet()
'Skapar en ny rad
Dim newRow As DataRow
'Fyll datasetet med data från databasen
adpQoute.Fill(setQoute, "tblQoute")
'Skapar insert, update och deletecommando till dataadaptern
adpQoute.InsertCommand = cmdBuilder.GetInsertCommand
adpQoute.UpdateCommand = cmdBuilder.GetUpdateCommand
adpQoute.DeleteCommand = cmdBuilder.GetDeleteCommand
'Sätter in en ny rad i datatabellen
newRow = setQoute.Tables("tblQoute").NewRow
'Fyller kolumner i den nya raden
newRow("qoute") = "Test1"
newRow("writer") = "Test2"
'Lägger till den nya raden till tabellen
setQoute.Tables("tblQoute").Rows.Add(newRow)
'Uppdaterar ändringarna till databasen
adpQoute.Update(setQoute, "tblQoute")
Felkoden ser ut så här:
Server Error in '/qoute' Application.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Operationen måste använda en fråga som kan uppdateras.
Source Error:
Line 83:
Line 84: 'Uppdaterar ändringarna till databasen
Line 85: adpQout.Update(setQoute, "tblQoute")
Line 86:
Line 87: End Sub
Tacksam för förslag
/PeterSv: Uppdatera accessdatabas
Troligtvis har det med säkerheten att göra.
ASPNET har inte rättigheter att skriva i databasen/mappen
//freddaSv: Uppdatera accessdatabas
:-)
Tack för att du pekade ut rätt riktning. Felmeddelandet fick mig till att leta fel i min kod istället.
/Peter