Avatar billede jacand Nybegynder
13. april 2002 - 15:02 Der er 12 kommentarer og
1 løsning

validering

Hvordan får jeg nedenstående kode til at valider om det er ok eller om der er en fejl?
Nu skriver den bare ”Record er slettet” selv om den ikke sletter.
Det jeg mangler er at hvis den ikke kan slette, skal den skrive ”fejl bla. Bla.” og ok hvis den sletter

<!-- #include file="DB.asp" -->
<%
If request.querystring("soeg")  <> "" then
If request.querystring("soeg1") <> "" then

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN

strSQL = "delete from Annoncer where annoncenr like '%" & request.querystring("soeg") & "%' and kode like '%" & request.querystring("soeg1") & "%'"
Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
End If
end if
%>

<h1>Record er slettet!</h1>
</body>
</html>
Avatar billede kimiwan Nybegynder
13. april 2002 - 15:09 #1
Conn.Execute strSQL,lngRecords

lngRecords indeholder nu antallet af records, der blev slettet
Avatar billede jacand Nybegynder
13. april 2002 - 15:16 #2
Hvorfor virker if lngRecords = "0" then Response.Write "fejl" ikke ??
Avatar billede kimiwan Nybegynder
13. april 2002 - 15:18 #3
prøv uden "" omkring 0 :

if lngRecords = 0 then Response.Write "fejl"
Avatar billede jacand Nybegynder
13. april 2002 - 15:21 #4
Jeg får bare "HTTP 500 - Intern serverfejl"
Response.Write lngRecords virker fint.
'if lngRecords = "0" then Response.Write "fejl"
if lngRecords = 0 then Response.Write "fejl"

'else
'Response.Write "OK"
end if
Avatar billede kimiwan Nybegynder
13. april 2002 - 15:22 #5
tools -> internet options -> advanced -> uncheck "show friendly http error messages"

så kan du se, hvad fejlen er.
Avatar billede jacand Nybegynder
13. april 2002 - 15:26 #6
Microsoft VBScript compilation error '800a0400'

Expected statement

/salg/slet2.asp, line 24

end if
^
Når jeg fjerner End if i linie 24 virker det :-?
Skal man ikke have en "end if" til hver "if" man har?
nu har jeg 3 if og 2 end if i koden :)
Avatar billede kimiwan Nybegynder
13. april 2002 - 15:28 #7
if lngRecords = 0 then
  Response.Write "fejl"
else
  Response.Write "OK"
end if
Avatar billede jacand Nybegynder
13. april 2002 - 15:33 #8
jeg har
If lngRecords = 0 then
Response.Write "Der opstod en fejl<br>Gå tilbage og kontroler annonce nr og kode"
else
Response.Write "OK"
end if
Og det virker fint men jeg har 2 if i toppen og kun 1 end if i bunde.
Hvis jeg sætter 2 end if i bunden virker det ikke :)

Tak for hjælpen
Avatar billede kimiwan Nybegynder
13. april 2002 - 15:43 #9
en lille forklaring..

du behøver ikke altid at bruge END IF efter en IF  statement..  Hvis du kun har en enkelt ting, der skal udføres, kan du skrive den på samme linje som IF .. THEN - og så skal der ikke et END IF til.

hvis du derimod har flere ting, der skal udføres, eller hvis du skal ha' ELSE med også, er du nødt til først at skrive IF ... THEN på een linje, så hvad den skal gøre, hvis den returnerer true.. og så evt. ELSE - på en ny linje - fulgt af det, den ellers skal gøre.. og så er du nødt til at ha' END IF med.

eks:

'her skal du kun viderestille viderestille, hvis det er en ford
'og der skal iøvrigt ikke gøres andet! - derfor kan du bruge bare een linje
IF  bil = 'ford' THEN response.redirect "http://www.ford.dk"

'her skal du enten gøre det ene, ellers skal du gøre det andet...
IF bil = 'ford' THEN
  response.redirect "http://www.ford.dk"
ELSE
  response.redirect "http://www.autohajen.dk"
END IF

'her skal kommandoerne udføres over flere linjer
'derfor skal du ha' IF-THEN for sig og END IF i slutningen.
IF bil = 'ford' THEN
  response.write "Du valgte en ford!"
  valg = 'korrekt' 'sætter variablen valg til strengværdien 'korrekt'
END IF

Håber, det gi'r mening :o)
Avatar billede jacand Nybegynder
13. april 2002 - 16:14 #10
Ja det var en god vejledning :)
jeg har altid troet at hvis man havde en if skulle han have en end if.
Med man kan jo altid lære moget nyt.
Avatar billede jacand Nybegynder
13. april 2002 - 16:24 #11
Kan man lave det samme med en:
Sql = "SELECT * FROM Annoncer
Set RS = Con.Execute (Sql)
Altså hvis der ikke er nogle record i databasen skriver den "tom" og viser ikke bare en tom side?
Avatar billede kimiwan Nybegynder
13. april 2002 - 16:30 #12
du kan bare tjekke for rs.eof i stedet...

eof =end of file = der er ingen records i dit recordset.

if rs.eof then
  response.write "ingen data at vise"
else
  'udskriv data fra recordsettet
end if
Avatar billede jacand Nybegynder
13. april 2002 - 16:42 #13
Tak endnu engang :)
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