Avatar billede sago Nybegynder
17. april 2002 - 18:41 Der er 15 kommentarer og
1 løsning

rs.update

Hej

Jeg har et problem, som jeg ikke kan finde ud af... jeg har søgt rundt omkring, men jeg kan ikke se hvad der er galt.

Min kode skal opdatere nogle felter i en database. Den får "id" og "headline" som input.

Her er koden:

    <%
   
    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")

    Conn.Open "DSN=bla", "un", "psw"

    strSQL = "SELECT * FROM news WHERE id= " & Request.Querystring("id")
    Set rs = Conn.Execute(strSQL)
   
    rs("headline")= " & Request.Querystring(""headline"") & "
    rs.update

    %>

Og her er fejlmeddelelsen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'headline'.

/input_edited_news.asp, line 15



Linie 15 er følgende: "Set rs = Conn.Execute(strSQL)"

Er det bare mig der ikke kan finde ud af syntaksen?
Avatar billede yessir Nybegynder
17. april 2002 - 18:45 #1
mangler ihvertifald "
Avatar billede sago Nybegynder
17. april 2002 - 18:51 #2
hvor?
Avatar billede peppino Nybegynder
17. april 2002 - 18:52 #3
<%
   
    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")

    Conn.Open "DSN=bla", "un", "psw"

    strSQL = "SELECT * FROM news WHERE id= '" & Request.Querystring("id") & "'
    Set rs = Conn.Execute(strSQL)
   
    rs("headline")= " & Request.Querystring(""headline"") & "
    rs.update

    %>
prøv med det her
Avatar billede sungdk Nybegynder
17. april 2002 - 18:53 #4
Tror han mener ligesom jeg at:
strSQL = "SELECT * FROM news WHERE id= " & Request.Querystring("id")

skal have en afslutning:
strSQL = "SELECT * FROM news WHERE id= " & Request.Querystring("id") &""
Eller også er det med ', prøv begge ting
Avatar billede sungdk Nybegynder
17. april 2002 - 18:54 #5
ups svar
Avatar billede peppino Nybegynder
17. april 2002 - 18:54 #6
rs("headline")= Request.Querystring("headline")
rs.update
Avatar billede sungdk Nybegynder
17. april 2002 - 18:56 #7
sql = "SELECT * FROM news WHERE id='" & Request.QueryString("id")&"'"

Sådan :)
Avatar billede peppino Nybegynder
17. april 2002 - 18:56 #8
Ups glemte lige "
sådan
strSQL = "SELECT * FROM news WHERE id= '" & Request.Querystring("id") & "'"
Avatar billede sungdk Nybegynder
17. april 2002 - 18:57 #9
yes det er også rigtigt peppino...
Avatar billede sungdk Nybegynder
17. april 2002 - 18:57 #10
det samme som mit svar :)
Avatar billede peppino Nybegynder
17. april 2002 - 18:58 #11
Ja men dit er det samme som mit :-)
Avatar billede sago Nybegynder
17. april 2002 - 19:12 #12
Nu kom jeg lidt videre, men nu får jeg denne fejl:

ADODB.Recordset error '800a0cb3'

Object or provider is not capable of performing requested operation.

/input_edited_news.asp, line 19

Linie 19 er den her:
rs("headline")= " & Request.Querystring(""headline"") & "

Endnu en syntaksfejl, eller? :)
Avatar billede eagleeye Praktikant
17. april 2002 - 19:24 #13
Hvis du vil benytte rs.Update skal du åbe recordsettet på en anden måde sådan her:

:

    <%
   
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Connection")

Conn.Open "DSN=bla", "un", "psw"

strSQL = "SELECT * FROM news WHERE id= " & Request.Querystring("id")
rs.Open strSQL, Conn, 3, 3  'eller bare ,3  i sted for 3,3
   
rs("headline")= " & Request.Querystring(""headline"") & "
rs.update
%>

Men men men Lav det helere med ren SQL så du ikke først skal hendte data og så opdater, smat det kan forgå unden recordset, sådan her:

<%
   
    Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=bla", "un", "psw"

strSQL = "UPDATE news SET headline = '" & Request.Querystring(""headline"") & "' WHERE id= " & Request.Querystring("id")
Conn.Execute(strSQL)
%>

Så let kan det gøre med ren SQL.
Avatar billede eagleeye Praktikant
17. april 2002 - 19:25 #14
i første eks, denne rette:
rs("headline")= " & Request.Querystring(""headline"") & "
Til dette:
rs("headline")= Request.Querystring(""headline"")
Avatar billede sago Nybegynder
17. april 2002 - 19:27 #15
Jeg ville først gøre det med ren SQL, men det andet så nemmere ud

Jeg prøver lige dit forslag :)
Avatar billede sago Nybegynder
17. april 2002 - 19:29 #16
Mange tak for hjælpen, det virker perfekt :)
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