---
title: "Varför är inte EOF tom??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/38475-varför-är-inte-eof-tom"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bettan"
published: "2002-02-26T14:14:23.000Z"
updated: "2002-02-28T08:44:00.000Z"
replies: 9
views: 388
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/38475-varför-är-inte-eof-tom"
---

# Varför är inte EOF tom??

## #1 — Bettan, 2002-02-26T14:14Z

Jag blir tokig. Har skrivit en kod som lägger till nya användare så här:
sSQL = "SELECT \* FROM Users where UserName = '"&UserName&"'"
set rs1 = oConn.Execute(sSQL)

if rs1.EOF = true then
	sSQL="INSERT INTO Users VALUES('"&UserName&"','"&Password&"')"
	set rs1 = oConn.Execute(sSQL)
	Response.Write "The new user is successfully added. \<b\>\<a href='viewAdministration.asp'\>Continue\</a\>\</b\>"
	Response.End 
else
	Response.Write "Can not add duplicate users. Please change the username. \<b\>\<a href='javascript:history.back()'\>Back\</a\>\</b\>"
	Response.End 
end if

Trots att användaren inte finns så får jag upp meddelandet "Can not add....osv, och det konstigaste av allt är att användaren läggs till ändå. Vad kan detta bero på?

Snälla hjälp!!!

Permalänk: https://www.webforum.nu/p/38475

## #2 — Mika3l, 2002-02-26T14:43Z

Prova detta

```
sSQL = "SELECT * FROM Users where UserName = '"&UserName&"'" 
set rs1 = oConn.Execute(sSQL) 

If NOT rs1.EOF then 
Response.Write "Can not add duplicate users. Please change the username. <b><a href='javascript:history.back()'>Back</a></b>" 
Else
sSQL="INSERT INTO Users VALUES('"&UserName&"','"&Password&"')" 
set rs1 = oConn.Execute(sSQL) 
Response.Write "The new user is successfully added. <b><a href='viewAdministration.asp'>Continue</a></b>" 
End If
```

/Mikael

Permalänk: https://www.webforum.nu/p/614307

## #3 — Bettan, 2002-02-26T15:00Z

Tack men det hjälpte inte. Det är fortfarande så att den säger: Can not add duplicate...osv och så lägger den in posten i databasen iallafall.

Kan det ligga i nån buffert någonstans? Jag är väldigt dålig på sånt här men vad gör Response.clear och Response.buffer = false. Är det dumt?

/Bettan

Permalänk: https://www.webforum.nu/p/614312

## #4 — @nders, 2002-02-26T15:03Z

Hur får variabeln UserName sitt värde? Hur ser den färdiga SQL-frågan ut?

Mvh,

Permalänk: https://www.webforum.nu/p/614317

## #5 — Bettan, 2002-02-26T15:14Z

Här är nästan hela sidan, det är bara lite oväsentlig html-gojs som jag inte skickar med.

Tackar för att ni vill hjälpa mej!
/Bettan

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Dim rs1, oConn, sSQL
dim UserName, Password
dim FullUserName
dim SecurityLevel

set rs1 = server.CreateObject ("adodb.recordset")
set oConn = Session("oConn")

if oConn.State \<\> 1	 then
	Response.Write "Error. Bad connection status."
	Response.End 
end if

'Kontrollera att alla variabler blir rätt

if Request.Form("txtUserName") \<\> "" then UserName = UCase(Request.Form("txtUserName"))
if Request.Form("txtPassword") \<\> "" then Password = UCase(Request.Form("txtPassword"))
if Request.Form("txtFullUserName") \<\> "" then FullUserName = UCase(Request.Form("txtFullUserName"))
if Request.Form("txtSecurityLevel") \<\> "" then SecurityLevel = ucase(Request.Form("txtSecurityLevel"))

sSQL = "SELECT \* FROM Users where UserName = '"&UserName&"'"
set rs1 = oConn.Execute(sSQL)

If NOT rs1.EOF then 
	Response.Write "Can not add duplicate users. Please change the username. \<b\>\<a href='javascript:history.back()'\>Back\</a\>\</b\>" 
Else
	sSQL="INSERT INTO Users VALUES('"&UserName&"','"&Password&"','"&FullUserName&"','"&SecurityLevel&"')" 
	set rs1 = oConn.Execute(sSQL) 
	Response.Write "The new user is successfully added. \<b\>\<a href='viewAdministration.asp'\>Continue\</a\>\</b\>" 
End If

%\>

Permalänk: https://www.webforum.nu/p/614327

## #6 — solbulle, 2002-02-26T22:16Z

Är du säker på att du "stänger" alla dina IF-satser på rätt ställe?
Alltså att du har en End If på rätt plats för varje If?

Permalänk: https://www.webforum.nu/p/614559

## #7 — Bettan, 2002-02-28T07:54Z

Jo, jag är till 110% säker att jag stänger alla if-satser. Om jag skulle glömma borde jag väl få felmeddelande?

Jag har inte löst problemet men felet dyker inte upp om man ändrar i Internet Services Manager, väljer properties på den aktuella web siten, in på fliken Directory. Där ändrar man Application Protection från Low till Medium. 

Är det någon som begriper mer än jag för jag fattar inte varför?? Varför, varför, varför??? 

Erkänner mej snart besegrad av asp och återgår till statiska html sidor.  :r 

/Bettan

Permalänk: https://www.webforum.nu/p/615121

## #8 — @nders, 2002-02-28T08:00Z

Det kan ha med ditt problem att göra att du använder ett connectionobjekt som ligger i en session. Lagra aldrig, aldrig, aldrig connectionobjekt i sessions.

Det är livsfarligt.

Mvh,

Permalänk: https://www.webforum.nu/p/615123

## #9 — Bettan, 2002-02-28T08:05Z

Jag vet att det är farligt farligt, men härligt, här.... ja.  Jag var lat helt enkelt och siten har inte många användare, och därför blir det inte många sessioner.

Det är ju bara på denna sidan som problemet uppstår och bara ibland. Kan det verkligen vara sessionerna som spökar då? 

Jag provar gärna alla förslag men eftersom det bara drabbat denna sida så känns det lite långsökt. Tack ändå.

/Bettan

Permalänk: https://www.webforum.nu/p/615124

## #10 — PatrikB, 2002-02-28T08:44Z

Om du tar bort = true i denna if-sats:

```
if rs1.EOF = true then
```

så att den ser ut så här istället:

```
if rs1.EOF then
```

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/615132

---

Tråden på webben: https://www.webforum.nu/amne/asp/38475-varför-är-inte-eof-tom
