Avatar billede sesam Nybegynder
17. juli 2002 - 23:59 Der er 10 kommentarer og
2 løsninger

Hvis SQL ikke lykkedes så....

Kan man tjekke om SQL lykkedes og udfra det skrive om det lykkedes eller ej???
Avatar billede killer_r Nybegynder
18. juli 2002 - 00:12 #1
set rs = Conn.execute("select * form tabel")
if rs.EOF then
response.write "lykkedes"
else
response.write "lykkedes ikke"
end if

Er det sådan du mener?
Avatar billede soes Nybegynder
18. juli 2002 - 00:14 #2
Du kan gøre det på denne måde:
Conn er din connection

Conn.BeginTrans
Conn.Execute(Sql)

If Conn.Errors.Count = 0 THEN
Ingen fejl
Conn.CommitTrans
Else
Fejl
Conn.RollBackTrans
End If

Conn.Close
Set Conn = Nothing

/Søren Søndergård
Avatar billede hells Nybegynder
18. juli 2002 - 00:14 #3
Jeg er ikke sikker på at det virker, men prøv dette:
If Conn.Execute(strSQL) Then
Response.Write "Posten blev indsat/opdateret/slettet"
Else
Response.Write "Der opstod en fejl"
End If
Avatar billede sesam Nybegynder
18. juli 2002 - 00:21 #4
soes: Virker ikke jeg får en fejl fordi den række jeg prøver at slette har relaterede rækker, men kan jeg så ikke skrive det så jeg ikke får den grimme fejlmeddelse på siden?
Avatar billede sesam Nybegynder
18. juli 2002 - 00:33 #5
Andre forslg?
Avatar billede soes Nybegynder
18. juli 2002 - 00:48 #6
jo det kan du godt.
i den første linie af dit dokument skriver du følgende:
On Error Resume Next

hvis du så vil læse fejlen kan du skrive

Response.write Err.Description

/Søren Søndergård
Avatar billede sesam Nybegynder
18. juli 2002 - 00:55 #7
Ja men den skriver jo bare fejlen ud, det jeg vil ha er at hvis jeg får en fejl i min SQL sætning som her: [Microsoft][ODBC Microsoft Access Driver] The record cannot be deleted or changed because table 'tblvarenr' includes related records.

At der skrives "lykkedes ikke"
Avatar billede soes Nybegynder
18. juli 2002 - 09:51 #8
prøv at poste hele koden du bruger. hvis du ikke vil gøre det her kan du ogsp sende det til mig, og så poster jeg kun den del som er nødvendig. min mail er soes@mail.dk jeg kan også fanges på icq/msn med samme mail.

/søren søndergård
Avatar billede coolcoder Nybegynder
18. juli 2002 - 12:11 #9
følgende virke for mig:
<%
on error resume next
  set rs = conn.execute(strSQL)
       
  If Err.Number <> 0 Then
  response.write "<hr><font color=red><b>* FEJL * (" & Err.Number & ")</b></font>"
  response.end
  end if
   
On Error GoTo 0
%>
Avatar billede soes Nybegynder
18. juli 2002 - 12:17 #10
coolcoder: ved det som du forslår der kan du ikke være sikker på at det lige netop er sql'en som giver bøvl. Hvis man bruger nogle andre objecter, email, http, eller ligende og det er et af dem så får du ikke så meget ud af fejl nummeret
Avatar billede coolcoder Nybegynder
18. juli 2002 - 12:26 #11
jeg copy-pastede lige lidt kode. Han kan jo bare skrive lige den fejlbesked han ønsker.

Desuden er det KUN DB-fejl der bliver fanget der. Jeg starter jo "on error resume next" lige inden joo kører SQL'en, tjekker om der er kommet fejl og hvis ikke, så slår jeg error-handling fra igen med "On Error GoTo 0". Ved fejl stoppes for videre eksekvering med en response.end
Avatar billede sesam Nybegynder
22. juli 2002 - 10:19 #12
Takker :)
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