Avatar billede smooth Nybegynder
23. juni 2003 - 14:08 Der er 21 kommentarer og
1 løsning

Probelm med at opdatere en database

Hej alle sammen.

Først vil jeg sige at jeg ikke fatter en pind ASP. Jeg er nemlig en PHP haj..

En af minne venner har lavet en mini CMS system i ASP som kan opdatere lidt i en database..

Men af en eller ander grund så kører det ikke.. Og self. er min ven taget på ferie :) jubii..


Men efter at I er eksperter så må I kunne hjælpe mig.

Efter at jeg har rettet lidt i en form og har trykket på opdatere så kommer denne fejl :

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/hrk/retdb-gem.asp, line 106

Og helt dum er jeg ikke så jeg kan se at fejlen er i på LINE 106 :)

LINE 106 =  conn.execute(strSQL)

Og efter at jeg ved at fejlen kan være på andre linje så smækker jeg lige hele filen :

<!-- #include file="include/functions.asp" -->


<!-- ---------------- Bestyrelsen --------------------- -->
<%
if request.querystring("action") = "sletbesty" Then
strSQL = "Delete from bestyrelsen where id = " & cint(request.querystring("del"))
Conn.Execute(strSQL)

response.redirect("retdb.asp?x=bestyr")
End if
if request.form("action") = " Gem Bestyrelsen " Then

range = split(request.form("id"),",")
y=lbound(range)
z=ubound(range)
for x=range(y) to range(z)

strSQL = "Update bestyrelsen set "

strSQL = strSQL & "navn= '" & request.form("navn"&x) & "',"
strSQL = strSQL & "att= '" & request.form("att"&x) & "',"
strSQL = strSQL & "adr= '" & request.form("adr"&x) & "',"
strSQL = strSQL & "adrto= '" & request.form("adrto"&x) & "',"
strSQL = strSQL & "post= '" & request.form("post"&x) & "',"
strSQL = strSQL & "byen= '" & request.form("byen"&x) & "',"
strSQL = strSQL & "status= '" & request.form("status"&x) & "',"
strSQL = strSQL & "rang= '" & request.form("rang"&x) & "',"
strSQL = strSQL & "email= '" & request.form("email"&x) & "',"
strSQL = strSQL & "hp= '" & request.form("hp"&x) & "'"
strSQL = strSQL & " Where id = "& x

conn.execute(strSQL)
'response.write strSQL & "<br><br>"
next

response.redirect("retdb.asp?x=bestyr")
end if

%>
<!-- ---------------- Ny Bestyrelse --------------------- -->
<%
   
'if request.form("action") = " Tilføj ny Bestyrelse " Then
if request.querystring("x") = "nybestyr" Then
strSQL = "insert into bestyrelsen ("
strSQL = strSQL & "navn, "
strSQL = strSQL & "att, "
strSQL = strSQL & "adr, "
strSQL = strSQL & "adrto, "
strSQL = strSQL & "post, "
strSQL = strSQL & "byen, "
strSQL = strSQL & "status, "
strSQL = strSQL & "rang, "
strSQL = strSQL & "email, "
strSQL = strSQL & "hp) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & request.form("navn")& "', "
strSQL = strSQL & "'" &  request.form("att")& "', "
strSQL = strSQL & "'" &  request.form("adr")& "', "
strSQL = strSQL & "'" &  request.form("adrto")& "', "
strSQL = strSQL & "'" &  request.form("post")& "', "
strSQL = strSQL & "'" &  request.form("byen")& "', "
strSQL = strSQL & "'" &  request.form("status")& "', "
strSQL = strSQL & "'" &  request.form("rang")& "', "
strSQL = strSQL & "'" &  request.form("email")& "', "
strSQL = strSQL & "'" &  request.form("hp")& "')"

conn.execute(strSQL)
response.redirect("retdb.asp?x=bestyr")
End if
%>
<!-- ---------------- Medemmer --------------------- -->
<%
if request.querystring("action") = "sletmedlem" Then
strSQL = "Delete from medlemsliste where id = " & cint(request.querystring("del"))
Conn.Execute(strSQL)

response.redirect("retdb.asp?x=medlem")
End if
       
if request.form("action") = " Gem Medlemslisten " Then

range = split(request.form("id"),",")
y=lbound(range)
z=ubound(range)
for x=range(y) to range(z)

strSQL = "Update medlemsliste set "

strSQL = strSQL & "navn= '" & request.form("navn"&x) & "',"
strSQL = strSQL & "titel= '" & request.form("titel"&x) & "',"
strSQL = strSQL & "indehavernavn= '" & request.form("indehavernavn"&x) & "',"
strSQL = strSQL & "adr= '" & request.form("adr"&x) & "',"
strSQL = strSQL & "adrto= '" & request.form("adrto"&x) & "',"
strSQL = strSQL & "post= '" & request.form("post"&x) & "',"
strSQL = strSQL & "byen= '" & request.form("byen"&x) & "',"
strSQL = strSQL & "tlf= '" & request.form("tlf"&x) & "',"
strSQL = strSQL & "fax= '" & request.form("fax"&x) & "',"
strSQL = strSQL & "email= '" & request.form("email"&x) & "',"
strSQL = strSQL & "hp= '" & request.form("hp"&x) & "'"
strSQL = strSQL & " Where id = "&x

conn.execute(strSQL)

next

response.redirect("retdb.asp?x=medlem")
end if

%>
<!-- ---------------- Nyt Medlem --------------------- -->
<%
   
if request.querystring("x") = "nymedlem" Then
strSQL = "insert into medlemsliste ("
strSQL = strSQL & "navn, "
strSQL = strSQL & "titel, "
strSQL = strSQL & "indehavernavn, "
strSQL = strSQL & "adr, "
strSQL = strSQL & "adrto, "
strSQL = strSQL & "post, "
strSQL = strSQL & "byen, "
strSQL = strSQL & "tlf, "
strSQL = strSQL & "fax, "
strSQL = strSQL & "email, "
strSQL = strSQL & "hp) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & request.form("navn")& "', "
strSQL = strSQL & "'" &  request.form("titel")& "', "
strSQL = strSQL & "'" &  request.form("indehavernavn")& "', "
strSQL = strSQL & "'" &  request.form("adr")& "', "
strSQL = strSQL & "'" &  request.form("adrto")& "', "
strSQL = strSQL & "'" &  request.form("post")& "', "
strSQL = strSQL & "'" &  request.form("byen")& "', "
strSQL = strSQL & "'" &  request.form("tlf")& "', "
strSQL = strSQL & "'" &  request.form("fax")& "', "
strSQL = strSQL & "'" &  request.form("email")& "', "
strSQL = strSQL & "'" &  request.form("hp")& "')"

conn.execute(strSQL)
response.redirect("retdb.asp?x=medlem")
End if
%>


<!-- ---------------- Paragraffer --------------------- -->
<%
if request.querystring("action") = "sletpara" Then
strSQL = "Delete from vedtaegter where id = " & cint(request.querystring("del"))
Conn.Execute(strSQL)
response.redirect("retdb.asp?x=paragraf")
end if
if request.form("action") = " Gem Paragraffer " Then

range = split(request.form("id"),",")
y=lbound(range)
z=ubound(range)
for x=range(y) to range(z)

strSQL = "Update vedtaegter set "

strSQL = strSQL & "paragraf= '" & request.form("paragraf"&x) & "',"
strSQL = strSQL & "overskrift= '" & request.form("overskrift"&x) & "',"
strSQL = strSQL & "tekst= '" & request.form("tekst"&x) & "'"
strSQL = strSQL & " Where id = "& x

conn.execute(strSQL)

next

response.redirect("retdb.asp?x=paragraf")
end if
%>
<!-- ---------------- Nyt Medlem --------------------- -->
<%
   
if request.querystring("x") = "nypara" Then
strSQL = "insert into vedtaegter ("
strSQL = strSQL & "paragraf, "
strSQL = strSQL & "overskrift, "
strSQL = strSQL & "tekst) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & request.form("paragraf")& "', "
strSQL = strSQL & "'" &  request.form("overskrift")& "', "
strSQL = strSQL & "'" &  request.form("tekst")& "')"

conn.execute(strSQL)
response.redirect("retdb.asp?x=paragraf")
End if
%>


<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>


Håber at I kan hjælpe mig ..

Der er 200 points at hente efter at jeg ikke ved hvor meget arbejde der er med det :)
Avatar billede cesil Nybegynder
23. juni 2003 - 14:11 #1
du skal have skriverettigheder til mappen hvor databasen ligger
Avatar billede cesil Nybegynder
23. juni 2003 - 14:13 #2
prøv at give everyone fulde rettigheder. Hvis det virker så begræns til at kun iussrxxx(sådan cirka) skal have rettighederne.
Avatar billede smooth Nybegynder
23. juni 2003 - 14:19 #3
databsaen ligger i den samme mappe som selve filen..
Avatar billede cesil Nybegynder
23. juni 2003 - 14:21 #4
har du tjekket rettigheder på filen.
Højreklik, properties, security. Sæt everyone til full control.
Avatar billede cesil Nybegynder
23. juni 2003 - 14:22 #5
Hvis jeg var dig ville jeg smide databasen i en mappe for sig selv.
Check også rettigheder på mappen hvor databasen ligger.
Avatar billede horsmark Nybegynder
23. juni 2003 - 14:26 #6
check foriøvrigt om du kan selecte fra db´en... [read]
Avatar billede smooth Nybegynder
23. juni 2003 - 14:28 #7
Det er lidt sværet at checke det efter jeg ikke har en FTP adgang. Det eneste måde jeg kan komme til filen er ved at oprette et netsværkssted..  Noget med at dem som har scriptet nu ikke er så glade for at oprette FTP adgang efter at det gå ud over deres sikkerhed..
Avatar billede smooth Nybegynder
23. juni 2003 - 14:30 #8
As I said brother I don't know a danm word in ASP :)

Hvad siger i til at I giver mig jeres e-mail adresse så kan jeg sende scriptet til jer som er på 2 filer og en login fil.. Så kan i selv sætte det op på jeres computer og se efter.. Jeg fatter nemlig ikke lat det med ASP og DB..
Avatar billede smooth Nybegynder
23. juni 2003 - 14:31 #9
Sådan her ser DB connect ud :

<%
Set conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("db.mdb")
Conn.Open DSN

%>
Avatar billede cesil Nybegynder
23. juni 2003 - 14:33 #10
Det er ikke et kode problem. har du tjekket rettighederne?
Avatar billede cesil Nybegynder
23. juni 2003 - 14:34 #11
hvis du ikke har adgang til mappen, så henvend dig til webhoteludbyder og hør om de kan gøre noget.
Avatar billede smooth Nybegynder
23. juni 2003 - 14:36 #12
Jeg har adgange til selve mappen hvor sleve siden ligger i og sådan noget..
Men det kører i gennem windowses egen browser ved at bruge en netværkssted..
Avatar billede smooth Nybegynder
23. juni 2003 - 14:38 #13
Men hvordan kan det være at man kan udskrive data fra DB og ikke rette i den ??

Her kan i se at det kører.. http://129.142.231.114/hrk/medlemslisten.asp

Aaaaa hvorfor er alt ikke i PHP og MYSQL ??...
Avatar billede cesil Nybegynder
23. juni 2003 - 14:59 #14
Du har vel altid læse rettigheder. Men mangler write og update.
Det her har altså ikke noget at gøre med at det er asp. Du var stødt ind i samme problem med php.

På en eller anden måde skal du ha fat på den mappe så du kan få ændret rettigheder
Avatar billede smooth Nybegynder
23. juni 2003 - 15:31 #15
cesil >> Er du 100% sikker på at fejlen ligger i rettigheder ?
Avatar billede cesil Nybegynder
23. juni 2003 - 15:40 #16
Det er min absolute overbevisning, ja.
Avatar billede cesil Nybegynder
23. juni 2003 - 15:41 #17
har det forøvrigt virket før?
Avatar billede smooth Nybegynder
23. juni 2003 - 15:43 #18
Ja så meget som jeg kan huske så har det virke før..  Det kørte også 100% da vi testede scriptet på vores egen computer hvor ASP var installeret
Avatar billede smooth Nybegynder
23. juni 2003 - 15:43 #19
Jeg har lige sendt en mail til dem. Så må vi krydsefinger og håbe at det var det :)
Avatar billede cesil Nybegynder
23. juni 2003 - 16:06 #20
hmmm du skal lige prøve en lille ting.
Jeg kiggede lige lidt nærmere på din connectionstring. Den peger jo faktisk ikke på samme mappe som filerne.
prøv lige den her. Den skulle pege rigtigt.


Set conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath (".\db.mdb")
Conn.Open DSN
Avatar billede smooth Nybegynder
24. juni 2003 - 13:08 #21
Har lige prøvet det.. Og den samme fejl kommer igen
Avatar billede smooth Nybegynder
24. juni 2003 - 13:16 #22
Sådan nu kører det .. Det var helt rigtig ang. rettighederne.. Den mappe som selve siden var i havde ikke det rigtige rettigheder.


Så jeg vil sige 10000 tag til dig cesil og her med giver jeg dig små 200 point :)

Med venlig hilsen
Smooth
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester