Avatar billede cardinale Nybegynder
20. oktober 2002 - 16:35 Der er 10 kommentarer og
1 løsning

Opdatering af DB

Jeg har følgende kode der giver problemer:

<!-- #INCLUDE file="db.asp" -->

<%
dim objConn
dim objRS

set objConn = Server.CreateObject("ADODB.Connection")
set objRS = Server.CreateObject("ADODB.Recordset")

objConn.Open dbConnString
objRS.ActiveConnection = objConn

dim title
dim newsPost

title = Request.Form("title")
newsPost = Request.Form("newsPost")

sql = "UPDATE newsposts SET title = '" & title &"'"
sql = sql & ", newspost= '" & newspost &"'"
sql = sql & " WHERE postid=" & postid & ";"
con.Execute(sql)

Response.Write "<b>Filmen er rettet. Her er hvad du har skrevet:<br><br></b>"
Response.Write Request.Form("newsPost")
response.write "<br><br><a href='menu_login.asp'>:: Tilbage til adminoversigt ::</a"
objConn.Close
set objConn = nothing
%>

Følgende fejl kommer:
Microsoft VBScript runtime (0x800A01A8)
Object required: ''
/RadiatorFilm/CMS/Endeligt/retfilm.asp, line 36

Linje 36 er:
con.Execute(sql)
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:38 #1
Du skal skrive:

objConn.Execute(sql)

Istedet for

con.Execute(sql)

Mvh,

Thomas Regin.
Avatar billede cardinale Nybegynder
20. oktober 2002 - 16:38 #2
Undskyld.

Koden er her:
<!-- #INCLUDE file="db.asp" -->

<%
dim objConn
dim objRS

set objConn = Server.CreateObject("ADODB.Connection")
set objRS = Server.CreateObject("ADODB.Recordset")

objConn.Open dbConnString
objRS.ActiveConnection = objConn

dim title
dim newsPost

title = Request.Form("title")
newsPost = Request.Form("newsPost")

sql = "UPDATE newsposts SET title = '" & title &"'"
sql = sql & ", newspost= '" & newspost &"'"
sql = sql & " WHERE postid=" & postid & ";"
objconn.Execute(sql)

Response.Write "<b>Filmen er rettet. Her er hvad du har skrevet:<br><br></b>"
Response.Write Request.Form("newsPost")
response.write "<br><br><a href='menu_login.asp'>:: Tilbage til adminoversigt ::</a"
objConn.Close
set objConn = nothing
%>

Fejlen er:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
Line 1: Incorrect syntax near ';'.
/RadiatorFilm/CMS/Endeligt/retfilm.asp, line 36
Avatar billede cardinale Nybegynder
20. oktober 2002 - 16:40 #3
Og linje 36 er:
objconn.Execute(sql)
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:40 #4
Okay!

Så fjern semi-kolonnet, så der står:

sql = "UPDATE newsposts SET title = '" & title &"'"
sql = sql & ", newspost= '" & newspost &"'"
sql = sql & " WHERE postid=" & postid
objconn.Execute(sql)

/thomas
Avatar billede cardinale Nybegynder
20. oktober 2002 - 16:42 #5
Nope virker ikke.

Fejl:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
Line 1: Incorrect syntax near '='.
/RadiatorFilm/CMS/Endeligt/retfilm.asp, line 36
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:43 #6
Okay!.. Lige under din SQL-statement skrive følgende:

Response.Write sql
Response.End

Således at der står:

sql = "UPDATE newsposts SET title = '" & title &"'"
sql = sql & ", newspost= '" & newspost &"'"
sql = sql & " WHERE postid=" & postid
Response.Write sql
Response.End

Skriv herefter SQL-strengen her, og så skal jeg fortælle dig hvad der er i vejen!

Mvh,

Thomas.
Avatar billede cardinale Nybegynder
20. oktober 2002 - 16:45 #7
UPDATE newsposts SET title = 'Lurendrejeren', newspost= 'Ja hvad kan man sige...' WHERE postid=
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:47 #8
Okay!

Du mangler en værdi i variablen "postid". Når den er tom, så ved databasen ikke i hvilken row, den skal opdatere.

Ergo er der ikke noget i vejen med din SQL-statement som sådan, og derfor må du lede et andet sted i dit script, og undersøge, hvorfor den ikke får trukket værdien til postid med over!

Mvh,

Thomas Regin.
Avatar billede cardinale Nybegynder
20. oktober 2002 - 16:48 #9
Ok tak.

Så må jeg lede videre.
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:50 #10
Umiddelbart ser det ikke ud til, at den aldrig bliver oprettet.

Det lader til, at den mangler her:

title = Request.Form("title")
newsPost = Request.Form("newsPost")

postid = Request.Form("ID) <-- Den skulle måske ligge her?

Mvh,

Thomas Regin.
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:50 #11
Hov..

Øverste linie ovenover skulle være:

"Umiddelbart set det ud til, at den aldrig bliver oprettet" ;)

/thomas
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