Avatar billede |shiva Nybegynder
11. august 2002 - 00:42 Der er 8 kommentarer og
1 løsning

problemer med at update noget i en DB

jeg kan ik rigtig hitte u af det med update, så plz hjælp mig med denne her:

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

strSQL = Update about Set about = '" & Request.Form("about") & "' Where Id = " & Request.Querystring("id")

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
response.Redirect "about.asp"
%>

IE siger:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/ny hp/test/about/rediger2.asp, line 7, column 16
strSQL = Update about Set about = '" & Request.Form("about") & "' Where Id = " & Request.Querystring("id")
---------------^
Avatar billede easysoft_studios Nybegynder
11. august 2002 - 00:44 #1
strSQL = "Update about Set about = '" & Request.Form("about") & "' Where Id = " & Request.Querystring("id")
Avatar billede easysoft_studios Nybegynder
11. august 2002 - 00:44 #2
det er de små ting som gør forskellen :)
Avatar billede |shiva Nybegynder
11. august 2002 - 00:51 #3
nu da det var så let, så håber jeg du vil hjælpe mig med at nyt prob. IE siger nu:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel.
/ny hp/test/about/rediger2.asp, line 9
Avatar billede easysoft_studios Nybegynder
11. august 2002 - 01:11 #4
er der noget tal i din QueryString("id")?
Avatar billede easysoft_studios Nybegynder
11. august 2002 - 01:12 #5
prøv i stedet for Conn.Execute(strSQL) at udskrive din SQL sætning:

Response.Write strSQL
Avatar billede easysoft_studios Nybegynder
11. august 2002 - 01:18 #6
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from about Where Id = " & Request.Querystring("id")
rs.Open strsql, UserConn, 1, 3

rs.Update
rs("about") = Request.Querystring("id")
rs.Update

rs.close
set rs = nothing


prøv den hvis det andet kokser
Avatar billede |shiva Nybegynder
11. august 2002 - 01:20 #7
den virker fint nok når jeg erstatter med response.write...
men når den skal execute virker det ik
Avatar billede easysoft_studios Nybegynder
11. august 2002 - 01:23 #8
ja det virker altid fint, så længe man ikke executer... ;)

men kommer der ikke noget tekst frem på skærmen med response.write?
post det lige her ;)
Avatar billede |shiva Nybegynder
11. august 2002 - 01:27 #9
har fundet ud af det :). det var for det 1. noget med rettigheder til DB mappen, og så skulle koden se sådan her ud:

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

Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "select * from about Where Id = " & Request.Querystring("id")
rs.Open strsql, Conn, 1, 3

rs.Update
rs("about") = Request.form("about")
rs.Update

rs.close
set rs = nothing
Response.Redirect "about.asp"
Conn.Close
Set Conn = Nothing

%>

stortset det du skrev
Tak for hjælpen du får dine point :P
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