/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
slette og opdatere nyhed + spørgsmål
Fra : thagemann89


Dato : 15-07-05 16:29

Ok, kan starte med mine spørgsmål:

1. Hvad helt præcist betyder det når man får fejlen med teksten
(missing operator) ?

2. samme spørgsmål bare med Expected end of statement.

@2. er det ikke bare " fejl?

Har ellers tjekket inde på www.aspfaq.com men synes ikke rigtig
jeg kom frem til noget... :(

-----------------------------------------------------------

Har fået problemer med at slette en nyhed igen.

Jeg har selvfølgelig en form hvor navnet er på den er id osv
osv...

strSQL = "DELETE FROM nyheder WHERE ID = " & Request.Form("id") &
""
Conn.Execute(strSQL)



Det virker fint, men jeg får en fejl op under formularen:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in query expression 'ID ='.

/asp/sletnyhed.asp, line 14

Linie 14 -> Conn.Execute(strSQL)



-----------------------------------------------------------

Her har jeg brug for lidt hjælp med at opdatere en nyhed (igen)
:/

opdaternyhed.asp:
<form action="opdaternyhed2.asp" method="post">
<input type="text" name="opdaternyhed" value="<%=
Server.HTMLencode(rs("opdaternyhed")) %>" >

<input type="text" name="opdateroverskrift" value="<%=
Server.HTMLencode(rs("opdateroverskrift")) %>" >

<input type="text" name="opdaterid" value="<%=
Server.HTMLencode(rs("opdaterID")) %>">

<input type="submit" name="submit" value="submit">


Og, der får jeg fejlen:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/asp/opdaternyhed.asp, line 11


Linie 11 ->
<input type="text" name="opdaternyhed" value="<%=
Server.HTMLencode(rs("opdaternyhed")) %>" >



Mvh
Thomas Hagemann


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (15-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 15-07-05 16:41

thagemann89 skrev:

> 1. Hvad helt præcist betyder det når man får fejlen med teksten
> (missing operator) ?

Det betyder at der mangler en operator i et udtryk. Typisk kan det være
i kriteriedelen (WHERE) hvor der fx kan stå noget a la:

   SELECT foo FROM foobar WHERE bar =

I ovenstående eksempel er det forhåbentligt ret klart at der mangler
noget efter lighedstegnet. Det er fejl af den type der giver "missing
operator".


> 2. samme spørgsmål bare med Expected end of statement.

Det er en parsefejl i asp der fortæller at du er fortsat med noget på et
sted hvor parseren forventede en ny linje.


> strSQL = "DELETE FROM nyheder WHERE ID = " & Request.Form("id") &
> ""
> Conn.Execute(strSQL)

Tjek altid hvad du får ind i din sql-sætning (se
<http://asp-faq.dk/article/?id=41>).

Noget tyder på at der ikke er noget i Request.Form("id"). Tjek om du
bruger POST og ikke GET til din form, samt om formfeltet hedder "id" og
ikke noget andet.


> Type mismatch: 'rs'
>
> /asp/opdaternyhed.asp, line 11

Har du overhovedet noget i rs på det tidspunkt?
Bruger du option explicit?
Har du tjekket for rs.EOF?

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

thagemann89 (15-07-2005)
Kommentar
Fra : thagemann89


Dato : 15-07-05 17:35

>    SELECT foo FROM foobar WHERE bar =
>
> I ovenstående eksempel er det forhåbentligt ret klart at der mangler
> noget efter lighedstegnet. Det er fejl af den type der giver "missing
> operator".

Så i mit tilfælde er det blokken altså " & Request.Form("id") & "" der er
fejlen, lige umidlbart kan jeg ikke se hvad der er galt, men det må vel
igen være noget med de " tegn? Dem er jeg altså ikke alt for god til...

strSQL = "DELETE FROM nyheder WHERE ID = " & Request.Form("id") & ""



> Noget tyder på at der ikke er noget i Request.Form("id"). Tjek om du
> bruger POST og ikke GET til din form, samt om formfeltet hedder "id" og
> ikke noget andet.

Mit formfelt hedder "id" og jeg bruger Post...

Her et link: http://www.intelligent-design.dk/asp/sletnyhed.asp



> > Type mismatch: 'rs'
> >
> > /asp/opdaternyhed.asp, line 11
>
> Har du overhovedet noget i rs på det tidspunkt?
> Bruger du option explicit?
> Har du tjekket for rs.EOF?

får jeg det af linien: Set rs = Conn.Execute(StrSQL) ?
og med rs.EOF er det Loop while not rs.EOF right?

Her, kan jeg overhovedet ikke se id feltet...
Link her: http://www.intelligent-design.dk/asp/opdaternyhed.asp


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

JonZ (15-07-2005)
Kommentar
Fra : JonZ


Dato : 15-07-05 20:52

thagemann89 wrote in dk.edb.internet.webdesign.serverside.asp:
>
> Så i mit tilfælde er det blokken altså " & Request.Form("id") & "" der er
> fejlen, lige umidlbart kan jeg ikke se hvad der er galt, men det må vel
> igen være noget med de " tegn? Dem er jeg altså ikke alt for god til...
>
> strSQL = "DELETE FROM nyheder WHERE ID = " & Request.Form("id") & ""

Her vil jeg tror du skal skrive:

strSQL = "DELETE FROM nyheder WHERE ID = '" & Request.Form("id") & "'"

Kan være svært at se, hvad jeg har gjort men jeg har sat ' før første " og
imellem de to sidste.


> > > Type mismatch: 'rs'
> > >
> > > /asp/opdaternyhed.asp, line 11
> >
> > Har du overhovedet noget i rs på det tidspunkt?
> > Bruger du option explicit?
> > Har du tjekket for rs.EOF?
>
> får jeg det af linien: Set rs = Conn.Execute(StrSQL) ?


Ja du sætter rs sådan. Men ellers prøv udskriv rs til sidst, så kan du se om
der er noget indhold.

Hilsen JonZ

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (15-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 15-07-05 21:15

JonZ skrev:

> Her vil jeg tror du skal skrive:
>
> strSQL = "DELETE FROM nyheder WHERE ID = '" &
> Request.Form("id") & "'"

Det tror jeg ikke. Id-felter plejer at være tal. Hvis fejlen alene
var manglende anførselstegn, ville fejlmeddelelsen også være en
anden (typekonverteringsfejl).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (15-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 15-07-05 21:18

thagemann89 skrev:

> Her et link:
> http://www.intelligent-design.dk/asp/sletnyhed.asp

Der er i hvert fald én ting galt med den side - nemlig at du
forsøger at køre forespørgslen uanset om der er sendt noget med
formen eller ej (siden melder fejl når man bare henter den via dit
link).

Du skal tjekke at der rent faktisk er submittet noget før du
forsøger at køre en handlingsforespørgsel.

Der må være noget fundamentalt galt i din kode. Prøv evt. at lægge
den op som tekst på din server.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

thagemann89 (16-07-2005)
Kommentar
Fra : thagemann89


Dato : 16-07-05 17:50

Har lagt hele min kode ud på siderne nu...

Link til koden til slette nyhed:
http://www.intelligent-design.dk/asp/sletnyhed.asp

Link til koden til at opdatere en nyhed
http://www.intelligent-design.dk/asp/opdaternyhed.asp


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

thagemann89 (16-07-2005)
Kommentar
Fra : thagemann89


Dato : 16-07-05 17:57

lige en lille rettelse...

http://www.intelligent-design.dk/asp/tekst.htm

Det er den rigtige ^^



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (16-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-07-05 22:18

thagemann89 skrev:

> http://www.intelligent-design.dk/asp/tekst.htm

Godt - en del ting er klarere nu:

Sletnyhed.asp:

1: Du kører din slettekode uanset om der er submittet noget til
formen eller ej (jf. sidste indlæg). Prøv med noget a la:

If isnumeric(Request.Form("id")) Then
   - kør forespørgslen
End If

2: Efter din databasekørsel skriver du:
   Response.redirect "sletnyhed.asp"
- hvorved du kalder siden igen, bare uden indhold i formen. Hvis du
skal redirecte skal det være til en anden side.


Opdaternyhed2.asp:


Du skriver:


*************************
Set rs = Conn.Execute(StrSQL)

strSQL = "UPDATE nyheder SET "
strSQL = strSQL & "nyhed = '" & Request.Form("opdaternyhed") & "',
"
strSQL = strSQL & "overskrift = '" &
Request.Form("opdateroverskrift") & "'"
strSQL = strSQL & " WHERE ID = '" & Request.Form("opdaterid") & "'"

Loop while not rs.EOF

*************************

Her er flere problemer.

1: Hvad har du i strSQL i første linje? Intet, så vidt jeg kan se -
du har ikke opbygget din sql-sætning endnu. Opbygningen af sql-
sætningen skal foregå før den eksekveres.

2: Handlingsforespørgsler genererer ikke noget postsæt. Du skal
derfor hverken bruge

   Set rs = Conn.Execute(StrSQL)

- eller

   Loop while not rs.EOF

Begge linjer er kun relevante til udvælgelsesforespørgsler. Du skal
bare have en linje med Conn.Execute(strSQL) - efter at du har
opbygget din forespørgsel i strSQL.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

thagemann89 (17-07-2005)
Kommentar
Fra : thagemann89


Dato : 17-07-05 18:58

sletnyhed.asp virker nu, tusinde tak for det! :)

men har stadig problemer med opdaternyhed.asp

kan kun se det ene tekst felt, hvor der står <font => istedet for de
3..

Fejl:
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/asp/opdaternyhed.asp, line 9


Formelen:
<form action="opdaternyhed2.asp" method="post">

<input type="text" name="opdaternyhed" value="<%=
Server.HTMLencode(rs("opdaternyhed")) %>" >

<input type="text" name="opdateroverskrift" value="<%=
Server.HTMLencode(rs("opdateroverskrift")) %>" >

<input type="text" name="opdaterid" value="<%=
Server.HTMLencode(rs("opdaterID")) %>">

<input type="submit" name="submit" value="submit">


Linie 9:
<input type="text" name="opdaternyhed" value="<%=
Server.HTMLencode(rs("opdaternyhed")) %>" >

stadig det med rs, som jeg ikke lige kan finde ud af...


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (17-07-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-07-05 20:25

thagemann89 skrev:

> sletnyhed.asp virker nu, tusinde tak for det! :)

Velbekomme.

> men har stadig problemer med opdaternyhed.asp

Har du rettet de ting jeg nævnte i sidste indlæg?


> kan kun se det ene tekst felt, hvor der står <font => istedet
> for de 3..

Det skyldes at asp-fejlen stopper udførslen af resten af siden - og
når det foregår inde i et formfelt, kan fejlen være lidt svær at se
(hint, brug vis kode).

NB: Læs gerne min signatur. Det er svært at se hvem du svarer og
hvad du svarer på når du ikke citerer noget.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

thagemann89 (17-07-2005)
Kommentar
Fra : thagemann89


Dato : 17-07-05 22:30

> > men har stadig problemer med opdaternyhed.asp
>
> Har du rettet de ting jeg nævnte i sidste indlæg?

ja, håber da jeg har gjort det rigtigt, lægger det ud lige om lidt som
tekst for en sikkerheds skyld :)

http://www.intelligent-design.dk/asp/tekst.htm


> Det skyldes at asp-fejlen stopper udførslen af resten af siden - og
> når det foregår inde i et formfelt, kan fejlen være lidt svær at se
> (hint, brug vis kode).


Kan godt se at fejlen ligger inde i value="" - men kan virkelig ikke
se hvad der er galt.

value="<%= Server.HTMLencode(rs("opdaternyhed")) %>"


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste