Avatar billede jesperwerge Nybegynder
11. september 2003 - 14:50 Der er 18 kommentarer og
1 løsning

Update og insert into statement kan nogen se fejlen

Hej

jeg har denne asp side hvor alt sker, både instastning af nye records og  updates a indtastede records, dog får jeg en fejl i update statementet, hvorfor har jeg en ide om;
jeg har lavet en dropdown list box som viser ja eller nej værdier og dertil har jeg sat den til at vise hvilken værdi list boxen har hvis man vil update recorden. dog hvis jeg tager denne væk virker den fint

----Først update og new record ----
<%
Dim strSQL
Dim strAutoID
strAutoID=Request.Querystring("AutoID")

If Request.Form("hidSubmitted")<>"" Then
  Set oDB = Server.CreateObject("ADODB.connection")
  oDB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../db/intprofil.mdb")
     
  If Request.Form("hidSubmitted")="New" Then
  'Opret ny post
  strSQL="INSERT INTO [profiler] (navn,knavn,nat,fdag,klub,udd,hojde,vagt,st,tidls,hobby,beskr,disc,"
  strSQL=strSQL & "truge,tph,ypas,sv,cy,lo,sponsorer,site,opl,res,forsiden,tb,tb2,billede,billede2,updated) VALUES ('"
 
  strSQL=strSQL & Request.Form("txtnavn")&"','"
  strSQL=strSQL & Request.Form("txtknavn")&"','"
  strSQL=strSQL & Request.Form("txtnat")&"','"
  strSQL=strSQL & Request.Form("txtfdag")&"','"
  strSQL=strSQL & Request.Form("txtklub")&"','"
  strSQL=strSQL & Request.Form("txtudd")&"','" 
  strSQL=strSQL & Request.Form("txthojde")&"','"
  strSQL=strSQL & Request.Form("txtvagt")&"','"
  strSQL=strSQL & Request.Form("txtst")&"','"
  strSQL=strSQL & Request.Form("txttidls")&"','"
  strSQL=strSQL & Request.Form("txthobby")&"','"
  strSQL=strSQL & Request.Form("txtbeskr")&"','"
  strSQL=strSQL & Request.Form("txtdisc")&"','"
  strSQL=strSQL & Request.Form("txttruge")&"','"
  strSQL=strSQL & Request.Form("txttph")&"','"
  strSQL=strSQL & Request.Form("txtypas")&"','"
  strSQL=strSQL & Request.Form("txtsv")&"','"
  strSQL=strSQL & Request.Form("txtcy")&"','"
  strSQL=strSQL & Request.Form("txtlo")&"','"
  strSQL=strSQL & Request.Form("txtsponsorer")&"','"
  strSQL=strSQL & Request.Form("txtsite")&"','"
  strSQL=strSQL & Request.Form("txtopl")&"','"
  strSQL=strSQL & Request.Form("txtres")&"','"
  strSQL=strSQL & Request.Form("txtforsiden")&"','"
  strSQL=strSQL & Request.Form("txttb")&"','"
  strSQL=strSQL & Request.Form("txttb2")&"','"
  strSQL=strSQL & Request.Form("txtbillede")&"','"
  strSQL=strSQL & Request.Form("txtbillede2")&"','"
  strSQL=strSQL & Request.Form("txtupdated")&"')"
    oDB.Execute(strSQL)
  strHeadline=Request.Form("txtSwimProfil")
  Set oRS = oDB.execute("SELECT AutoID FROM [Profiler] order by AutoID desc")
  strAutoID=oRS.Fields("AutoID")
  Set oRS = Nothing
   
      Response.write "<b>Profilen er nu tilføjet kataloget</b> <a href='admin/index2.asp'>Klik her for at gå til forside!</a>"
 
  Else
  'Opdater post
  strSQL="UPDATE [profiler] SET "
  strSQL=strSQL & "navn='" & Request.Form("txtnavn")&"', "
  strSQL=strSQL & "knavn='" & Request.Form("txtknavn")&"', "
  strSQL=strSQL & "nat='" & Request.Form("txtnat")&"', "
  strSQL=strSQL & "fdag='" & Request.Form("txtfdag")&"', "
  strSQL=strSQL & "klub='" & Request.Form("txtklub")&"', "
  strSQL=strSQL & "udd='" & Request.Form("txtudd")&"', "
  strSQL=strSQL & "hojde='" & Request.Form("txthojde")&"', "
  strSQL=strSQL & "vagt='" & Request.Form("txtvagt")&"', "
  strSQL=strSQL & "st='" & Request.Form("txtst")&"', "
  strSQL=strSQL & "tidls='" & Request.Form("txttidls")&"', "
  strSQL=strSQL & "hobby='" & Request.Form("txthobby")&"', "
  strSQL=strSQL & "beskr='" & Request.Form("txtbeskr")&"', "
  strSQL=strSQL & "disc='" & Request.Form("txtdisc")&"', "
  strSQL=strSQL & "truge='" & Request.Form("txttruge")&"', "
  strSQL=strSQL & "tph='" & Request.Form("txttph")&"', "
  strSQL=strSQL & "ypas='" & Request.Form("txtypas")&"', "
  strSQL=strSQL & "sv='" & Request.Form("txtsv")&"', "
  strSQL=strSQL & "cy='" & Request.Form("txtcy")&"', "
  strSQL=strSQL & "lo='" & Request.Form("txtlo")&"', "
  strSQL=strSQL & "sponsorer='" & Request.Form("txtsponsorer")&"', "
  strSQL=strSQL & "site='" & Request.Form("txtsite")&"', "
  strSQL=strSQL & "opl='" & Request.Form("txtopl")&"', "
  strSQL=strSQL & "res='" & Request.Form("txtres")&"', "
  strSQL=strSQL & "forsiden='" & Request.Form("txtforsiden")&"', "
  strSQL=strSQL & "tb='" & Request.Form("txttb")&"', "
  strSQL=strSQL & "tb2='" & Request.Form("txttb2")&"', "
  strSQL=strSQL & "billede='" & Request.Form("txtbillede")&"', "
  strSQL=strSQL & "billede2='" & Request.Form("txtbillede2")&"', "
  strSQL=strSQL & "updated='" & Request.Form("txtupdated")&"' WHERE autoID=" & Request.Form("hidSubmitted")
  oDB.Execute(strSQL)
  End If
  oDB.Close
  set oDB = Nothing
End If
---- slut ----

---- min select box ----
<select name="txtforsiden" size="1">
    <option value="ja"
        <% if strforsiden = "ja" then Response.Write " SELECTED" %>>Ja</option>
    <option value="nej"
        <% if strforsiden = "nej" then Response.Write " SELECTED" %>>Nej</option>
</select>
--- slut ---

er der nogen som kan se hvor jeg går galt i byen, fejlen er bare at der er fejl i update statementet, men jeg kan ikke se nogen fejl

feltet "forsiden" er et text felt i en access database

mvh
Avatar billede netro Nybegynder
11. september 2003 - 15:01 #1
Udskriv dit statement:

Response.Write strSQL

- og fortæl hvad fejlmeddelelsen er, tak.
Avatar billede goose Nybegynder
11. september 2003 - 15:03 #2
prøv og udskriv din SQL, så er det nemmere at overskue hvilke felter der ikke er data i.

/Goose
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:05 #3
Det skriver at den skal bruge en brugbar update statement og fejl o linie 45 hvilket er oDB.Execute(strSQL)
Avatar billede netro Nybegynder
11. september 2003 - 15:09 #4
Og hvordan ser dit statement ud?
Avatar billede eagleeye Praktikant
11. september 2003 - 15:10 #5
Virker din insert SQL ??
For fejlen lyder som om folderen er skrive beskyttet se mere her:
http://activedeveloper.dk/aspdigital/kapitel2/updateable_query.asp
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:10 #6
jeg er sikker på at det er forsiden der lavet problemet men hvorfor kan jeg ikke finde ud af det er som om at den ikke vilgodkende værdien i databasen?
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:11 #7
jeg har tjekket om der kan skrives ned i biblioteket og det kan der. så der ligger fejlen heller ikke - desværre
Avatar billede eagleeye Praktikant
11. september 2003 - 15:14 #8
For vi kan hjælpe vidre så ret denne linje:

oDB.Execute(strSQL)

Til dette:
Response.Write strSQL
Response.End
oDB.Execute(strSQL)


og paste resultet ind her så vi kan se hvordan den SQL sætning du giver databasen ser ud.
Avatar billede eagleeye Praktikant
11. september 2003 - 15:14 #9
Samt kopier den fejl koden 1:1 uden filter ind her så vi har den korrekte ord lyd og fejlkode.
Avatar billede eagleeye Praktikant
11. september 2003 - 15:18 #10
Er det din egen server?? Fordi du kan kopier til folderen er det ikke ens betydne at brwoseren kan skrive til databasen. Browseren er en anden user: IUSR_xxxxxxx (Internet Guest Account) og den user har ikke skrive rettighed til folderne med mindre man har givet det, som vist i linkt (dog er XP lidt anderledes).
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:19 #11
resultat:

INSERT INTO [profiler] (navn,knavn,nat,fdag,klub,udd,hojde,vagt,st,tidls,hobby,beskr,disc,truge,tph,ypas,sv,cy,lo,sponsorer,site,opl,res,forsiden,tb,tb2,billede,billede2,updated) VALUES ('jljl','jl','j','lj','ljlj','lkj','lk','jl','kjl','kj','lkj','l','jl','j','lj','lkj','lk','jl','kj','lkj','lk','jl','kj','ja','lkj','lk','jacobpallesen.gif','l1.gif','11-09-2003 15:18:39')
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:20 #12
bruge både en iis xp server og hos mit webhotel azero.dk
Avatar billede eagleeye Praktikant
11. september 2003 - 15:21 #13
Ok, hvis du fjerne disse to linjer igen:
Response.Write strSQL
Response.End

Hvilken fejl giver det så hvis du prøver at indsætte?
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:25 #14
denne fejl kommer så frem:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel.
/admin/profiler/profil_eng.asp, line 45


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)

Side:
POST 384 bytes to /admin/profiler/profil_eng.asp

POST Data:
hidSubmitted=New&txtforsiden=ja&txtnavn=ipipi&txtknavn=pi&txtnat=pipoipi&txtfdag=poi&txtklub=poi&txtudd=pio&txthojde=p&txtvagt=ip&txtst=oi&txttidls=pio&txthobby=po&txtbeskr=ip&txtdisc=oiop&txttruge=i& . . .

Klokkeslæt:
11. september 2003, 15:25:15


Yderligere oplysninger:
Avatar billede netro Nybegynder
11. september 2003 - 15:26 #15
Prøv at rette:

'11-09-2003 15:18:39'

til:
#11-09-2003 15:18:39#
Avatar billede eagleeye Praktikant
11. september 2003 - 15:28 #16
Så tror jeg det er problem med at skriverettighed..

Når det er WinXP maskine skal man ført havde adgang til en sikkerheds folder.
For at det skal ske, skal man under i denne
computer/funktioner/mappeindstillinger/vis
sørge for der IKKE er et kryds i punktet "Brug enkel fildeling".
Det skal gælde for alle mapper.

Når det er på plads kan man højreklikke på den mappe, hvor databasen ligger, vælge sikkerhed, og så sørge for at IUSR_xxxxxxx (internet guest account) har skriverettighed.
Avatar billede jesperwerge Nybegynder
11. september 2003 - 15:29 #17
det er en automatisk funktion som henter tid og dato fra serveren og feltet bliver automatisk udfyldt -brugeren behøver ikke udfylde dette felt
Avatar billede jesperwerge Nybegynder
13. september 2003 - 15:40 #18
Eagleeye -> vil du lægge et svar  - jeg har nu fået sat min iis op så den virker - lidt pinligt. tak for din hjælp endnu engang.
Avatar billede eagleeye Praktikant
13. september 2003 - 23:11 #19
Jo det vil da ;)
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel