webForumDet fria alternativet

If not rs.EOF problem...

8 svar · 226 visningar · startad av JAreMANNEN

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#1

Hell0!

Får detta felmeddelande:

ADODB.Recordset (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.
insert.asp, line 22

På följande...

<% @LANGUAGE=VBScript %>
<% 
    Option Explicit

    '###Här deklareras kopplingsvariablerna###
    Dim Conn, strSQL, strFornamn, strEfternamn, strUIN, strEpost, strOrt, strPassw, objRS

    '###Här skapas databaskopplingen###
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=epostkatalog.mdb"

    strFornamn = Request.Form("fornamn")
    strEfternamn = Request.Form("efternamn")
    strUIN = Request.Form("icq")
    strEpost = Request.Form("epost")
    strOrt = Request.Form("ort")
    strPassw = Request.Form("passw")

    '###Här anges hur/vart informationen ska hanteras###
    strSQL = " INSERT INTO epostlista (fld_fornamn, fld_efternamn, fld_icq, fld_epost, fld_ort, fld_passw) "
    strSQL = strSQL & " VALUES ( '" & strFornamn & "', '" & strEfternamn & "', " & strUIN & ", '" & strEpost & "', '" & strOrt & "', '" & strPassw & "')"
    Set objRS = Conn.Execute(strSQL)
%>

<%
    [b]If NOT objRS.EOF Then[/b]

    Response.Write " Några av dina uppgifter finns redan i vår databas!<br>Om du vill ändra dina uppgifter trycker du på ""Ändra uppgifter""! "
    Else
    Response.Write " KLART! "
    End If

    '###Stänger databaskopplingen###
    objRS.Close
    Set objRS = Nothing

    Conn.Close
    Set Conn = Nothing
%>

Vad är fel... :q

Blir inte klok på detta! Har juh inte stängt någonting före felmeddelandet..?
THX!

------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post

[Redigerat av JAreMANNEN den 16 mar 2001]

hakangusMedlem sedan feb. 200144 inlägg
#2

Jag ser inte att du hämtat något recordset. Ändra nedanstående.

Kod:
Set objRS = Conn.Execute(strSQL) ändras till Conn.Execute(strSQL)
Set objRS = Conn.Execute("select * from epostlista")

BendroMedlem sedan jan. 20013 039 inlägg
#3

Hmm...jag är kanske ute och cycklar...men du skapar väl inte något recordset när du gör en Insert?

Det är kanske jag som är onödigt omständig, men jag hade först gjort en Select och kollat om uppgifterna fanns och sedan i If-satsen gjort Inserten förutsatt att användaren inte redan var reggad

Men det stämmre ju ändå inte överens direkt med felmeddelandet...hmm.
Nåja...om ingen annan har någon bättre ide kan du ju prova. Lycka till..

------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein

@ndersMedlem sedan juni 200032 969 inlägg
#4

nej då, bendro, inte cyklar du. :)

inget recordset skapas när du kör en insert-query.

vad är det du vill göra? egentligen?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
respect my authoritaah!</A>

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#5

Det tackar vi för...

Klantigt av mej att inte upptäcka det.. :)

------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#6

Nyfiken @nders.. :q :)

Har ju en icq & epostlista...

Om någon skriver i typ samma namn eller epostadress så ska det inte skrivas in någon post i db:n... utan meddela personen om att de uppgifterna finns...

Jag tvivlar inte en sekund på att detta säkerligen går att ordna på ett mkt bättre sätt men det blev "bara" såhär när jag satt och skrev det...

Om Ni har bättre förslag så är jag redo.. :)

------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post

emissionMedlem sedan dec. 19996 721 inlägg
#7

Du får göra en utsökning med SELECT, efter det önskade användarnamnet, först, och med den sökningen....

If NOT objRS.EOF Then

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#8

Fixade det såhär....

<% 
    '###Här deklareras kopplingsvariablerna###
    Dim Conn, strSQL, strFornamn, strEfternamn, strUIN, strEpost, strOrt, strPassw, objRS

    strFornamn = Request.Form("fornamn")
    strEfternamn = Request.Form("efternamn")
    strUIN = Request.Form("icq")
    strEpost = Request.Form("epost")
    strOrt = Request.Form("ort")
    strPassw = Request.Form("passw")

    '###Här skapas databaskopplingen###
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=epostkatalog.mdb"

    Set objRS = Conn.Execute(" SELECT * FROM epostlista WHERE fld_icq LIKE '" & strUIN & "' OR fld_epost = '" &  strEpost & "' OR fld_passw = '" &  strPassw & "' ")

    If NOT objRS.EOF Then
    Response.Write " <br><br><br><table width=""300"" align=""center""><tr><td>Någon av dina ifyllda uppgifter finns redan i vår databas!<br>Har du redan skrivit in dig en gång så klickar du <a href=""confirm_update.asp"">här</a>!</td></tr></table>"
    Else

    '###Här anges hur/vart informationen ska hanteras###
    strSQL = " INSERT INTO epostlista (fld_fornamn, fld_efternamn, fld_icq, fld_epost, fld_ort, fld_passw) "
    strSQL = strSQL & " VALUES ( '" & strFornamn & "', '" & strEfternamn & "', '" & strUIN & "', '" & strEpost & "', '" & strOrt & "', '" & strPassw & "')"
    Conn.Execute(strSQL)

    Response.Write " KLART! "
    End If

    '###Stänger databaskopplingen###
    objRS.Close
    Set objRS = Nothing

    Conn.Close
    Set Conn = Nothing
%>

------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post

[Redigerat av JAreMANNEN den 16 mar 2001]

emissionMedlem sedan dec. 19996 721 inlägg
#9

Precis så ja. Bra!

129 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)