Archief - ASP.NET: wegschrijven values access db probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

borracho

Legacy Member
Ik heb dus een webformulier gemaakt waarin ik enkele velden en dropdownlists heb die ik zou willen wegschrijven naar een access db. De code zelf voor het wegschrijven zou moeten werken denk ik daar het waarschijnlijk te maken heeft met de een of andere beveiliging.

Hiervoor gebruik ik volgende code:
PHP:
Sub BtnSubmit_Click(sender As Object, e As EventArgs)

Dim conInbev As OleDbConnection 
Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("../Obis2/DB/Inbev.mdb") 

Dim cmdInsert As OleDbCommand 
Dim OleDbString As String 

conInbev = New OleDbConnection (ConnectionString) 
ConInbev.Open() 

OleDbString="INSERT INTO tblpersoneel   (Personeelid, Personeelslidvoornaam, Personeelslidnaam, PersoneelslidafdelingID, Personeelslidinlognaam, PersoneelsrechtenID, TaalID, FunctieID, Personeelsstatus) VALUES (@Personeelid, @Personeelslidvoornaam, @Personeelslidnaam, @PersoneelslidafdelingID, @Personeelslidinlognaam, @PersoneelsrechtenID, @TaalID, @FunctieID, @Personeelsstatus)" 

cmdInsert = new OleDbCommand(OleDbString, conInbev) 

		CmdInsert.Parameters.Add(New OleDbParameter("@Personeelid", txtid.Text))		
        CmdInsert.Parameters.Add(New OleDbParameter("@Personeelslidvoornaam", txtVoornaam.Text))
        CmdInsert.Parameters.Add(New OleDbParameter("@Personeelslidnaam", txtNaam.Text))	
        CmdInsert.Parameters.Add(New OleDbParameter("@PersoneelslidafdelingID", drpAfdeling2.SelectedItem.Text))
        CmdInsert.Parameters.Add(New OleDbParameter("@Personeelslidinlognaam", txtInlognaam.text))
        CmdInsert.Parameters.Add(New OleDbParameter("@PersoneelsrechtenID",  drpRechten.SelectedItem.Text))
        CmdInsert.Parameters.Add(New OleDbParameter("@TaalID", drpTaal.SelectedItem.Text))
        CmdInsert.Parameters.Add(New OleDbParameter("@FunctieID", drpFunctie.SelectedItem.Text))
        CmdInsert.Parameters.Add(New OleDbParameter("@Personeelsstatus", drpStatus.SelectedItem.Text))


cmdInsert.ExecuteNonQuery() 
conInbev.Close() 

End Sub

Maar ik krijg dus volgende foutboodschap:
De bewerking moet worden uitgevoerd op een query die kan worden bijgewerkt.
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: De bewerking moet worden uitgevoerd op een query die kan worden bijgewerkt.

Heb op het internet een post gevonden die zei dat je in de eigenschappen van je map die beveiligingen allemaal moest aanvinken maar die vind ik dus niet weer:help:

Alvast bedankt moest iemand enige raad weten:)
Borracho

borracho

Legacy Member
Juist gemerkt dat de map waarin de database staat op alleen lezen staat maar wanneer ik dit uitvink en op toepassen klik doet hij dit. Maar als ik dadelijk terug ga kijken verschijnt deze weer als 'alleen lezen'.

En naast de access db staat ook volgend pictogram: (office03)
zelfde naam als db en als type: microsoft access recordvergrendelingsinformatie

Iemand enig idee wat ik moet wijzigen om code te laten werken.
Borracho

Joriz

Legacy Member
de iusr gebruiker schrijfrechten geven op je database

(machinename\IUSR_machinenaam) ..

borracho

Legacy Member
Dit is dan als ik juist ben gewoon bij map eigenschappen en dan beveiliging.
En dan toevoegen wat jij getypt heb maar dit wil me nog niet helemaal lukken.

Als ik het volgende probeer:

Accountname(Accountname\IUSR_Accountname)
of (ADMINISTRATOR\Accountname\IUSR_ADMINISTRATOR\Accountname)
of (ADMINISTRATOR\IUSR_ADMINISTRATOR)

blijft het een fout geven, hij wil deze nl niet toevoegen:
Het object met de naam .... is niet afkomstig van een domein dat is opgegeven in het dialoogvenster Locatie kiezen, en is daarom ongeldig.

Daarin staat enkel ADMINISTRATOR

ondertussen ook geprobeerd om andere personen uit de lijst alle rechten te geven maar blijft fout geven, waarschijnlijk moet die iusr er tussen maar wil dus niet lukken.

orez

Legacy Member
gebruik es die
PHP:
 tag ;) --> maakt u post veel overzichtelijker.

Joriz

Legacy Member
zoek eens alle gebruikers op je machine... je zal dan zien dat er een gebruiker is die begint met IUSR_ gevolgd door je machinenaam ... niet letterlijk machinenaam

borracho

Legacy Member
k ik heb dus die bepaalde naam gevonden in mijn mapeigenschappen.

nl. gastaccount voor internetverbindingen (ADMINISTRATOR\IUSR_ADMINISTRATOR) en heb deze alle bevoegheden gegeven maar het wil nog steeds niet werken. Heeft misschien te maken dat ik in de kolom weigeren achter het veld schrijven deze niet kan uitvinken. Al geprobeerd om bij geavanceerd deze te deleten maar dit gaat ook niet.
Bij geavanceerd staan dus 2 regels met iusr, één met type weigeren en één met type toestaan en volledig beheer.

nog een vraag wat is eigenlijk het verschil met de volgende account
Account voor IIS proces starten(ADMINISTRATOR\IWAM_ADMINISTRATOR) ?

Boddah

Legacy Member
maak es een useraccount voor ASP.NET user.
dat is normaal computernaam\ASPNET

borracho

Legacy Member
Ondertussen aangemaakt maar nu geeft hij een ander foutmelding:

Gegevenstypen komen niet overeen in criteriumexpressie.

op de lijn cmdinsert.executenonquery

borracho

Legacy Member
k het werkt ondertussen.

in mijn code volgende nog moeten vervangen
SelectedItem.Text door SelectedIndex

Bedankt voor de hulp
Borracho
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan