" Undantag inträffade "

ASP

4 svar · 181 visningar · startad av Palleman

Medlem sedan dec. 2000557 inlägg
Trådstart#1

Hej.

Jag får ett konstigt felmeddelande i följande kod, någon som kan ge mig en hjälpande hand?

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("members.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")

AdUser = "SELECT * FROM medlemmar"

RecSet.Open AdUser, Connect, adOpenDynamic, adLockOptimistic

[b]If Request.Form("epost") = RecSet("Mail") Then
Response.Write "Mailadressen finns redan i databasen! <a href='javascript:history.back()'> &#0124; Tillbaka &#0124; </a>"[/b]
	
ElseIf Request.Form("unamn") = RecSet("Anvandare") Then
Response.Write "Användarnamnet finns redan i databasen! <a href='javascript:history.back()'> &#0124; Tillbaka &#0124; </a>"
	
Else

RecSet.AddNew
RecSet("Namn") = Request.Form("fnamn")
RecSet("Efternamn") = Request.Form("enamn")
RecSet("Mail") = Request.Form("epost")
RecSet("Webb") = Request.Form("webb")
RecSet("Anvandare") = Request.Form("unamn")
RecSet("Losenord") = Request.Form("pword")
RecSet("Datum") = Request.Form("datum")

RecSet.Update
RecSet.Close
Connect.Close

End If
%>

Felmeddelande dyker upp på raden som jag har försökt göra fet... verkar som om jag har försökt kolla på fel sätt.
Några förslag?

ps Vill tack för de kalasbra svaren jag fick på mitt förra inlägg! Tack! ds

Medlem sedan juni 200032 967 inlägg
#2

inte råkar e-postadressen ligga i ett fält av pm/memo-typ?

Medlem sedan dec. 2000557 inlägg
#3

Hej... damn vad du svarar snabbt.. =)

Nope, den ligger i ett fält med datatyp: Text

Medlem sedan dec. 2000557 inlägg
#4

Jag testade att lägga in några uppgifter i databasen men då kom ett annat felmeddelande -> "Odefinierat fel"
Felmeddelande blir nu i Connect.Open strängen... :(

Vad ska jag göra för att få det att fungera?

Tacksam för ett svar.. :)

Medlem sedan dec. 19996 721 inlägg
#5

Jag har lite svårt att se vad felet kan vara, men som en bisak kan jag nämna att skriptet ändå inte fungerar. Du måste nämligen söka ut lite mer specifikt, för att kunna göra den önskade kontrollen. Som det är nu kollar du bara om användarnamnet eller mailadressen ligger på första raden som databassökningen returnerar.

Du måste också kolla om sökningen returnerar något. Annars kan du inte kolla RecSet-värdena

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("members.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")

[b]strEpost=trim(Request.Form("epost"))
strUnamn=trim(Request.Form("unamn")) 

AdUser="SELECT * FROM medlemmar WHERE Anvandare='" strUnamn & "' OR Mail='" & strEpost & "'"[/b]

RecSet.Open AdUser, Connect, adOpenDynamic, adLockOptimistic

[b]If Not RecSet.EOF then[/b]

If strEpost=RecSet("Mail") Then
Response.Write "Mailadressen finns redan i databasen! <a href='javascript:history.back()'> &#0124; Tillbaka &#0124; </a>"

[b]Else[/b]
Response.Write "Användarnamnet finns redan i databasen! <a href='javascript:history.back()'> &#0124; Tillbaka &#0124; </a>"

[b]End If

Else[/b]

RecSet.AddNew
RecSet("Namn") = Request.Form("fnamn")
RecSet("Efternamn") = Request.Form("enamn")
RecSet("Mail") = [b]strEpost[/b]
RecSet("Webb") = Request.Form("webb")
RecSet("Anvandare") = [b]strUnamn[/b]
RecSet("Losenord") = Request.Form("pword")
RecSet("Datum") = Request.Form("datum")

RecSet.Update

[b]End If[/b]

RecSet.Close
Connect.Close

End If
251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)