---
title: "fel på min databas kod! :("
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/68879-fel-på-min-databas-kod"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "M.Cheraghi"
published: "2003-02-20T15:58:45.000Z"
updated: "2003-02-21T11:49:25.000Z"
replies: 16
views: 358
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/68879-fel-på-min-databas-kod"
---

# fel på min databas kod! :(

## #1 — M.Cheraghi, 2003-02-20T15:58Z

> ADODB.Recordset (0x800A0BB9)
> Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
> /weborg/do_login.asp, line 11

 

```
<%
user = request.form("usern")
pass = request.form("passw")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username=user AND password=pass"

RS.Open SQL, Conn, adOpenStatic, adLockOptimistic 

%>
```

rad 11 som felet ligger på är "RS.Open SQL, Conn, adOpenStatic, adLockOptimistic " har trixat å knåpat ett tag nu, men kan inte lösa det,... hjärn släpp!

MVH

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

## #2 — ampy, 2003-02-20T16:03Z

```
<%
user = request.form("usern")
pass = request.form("passw")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username='"&user&"' AND password='"&pass&"'"

RS.Open SQL, Conn, adOpenStatic, adLockOptimistic 

%>
```

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

## #3 — Cannabis_Tomten, 2003-02-20T16:05Z

:r  ojdå! hehe... tack så mycket ampy!

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

## #4 — Cannabis_Tomten, 2003-02-20T16:08Z

men hmm.... jag får fortfarande upp 

> ADODB.Recordset (0x800A0BB9)
> Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
> /weborg/do_login.asp, line 11

 när jag kör med koden som ampy gjorde!  :l

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

## #5 — LarsG, 2003-02-20T16:15Z

Dom här då

adOpenStatic, adLockOptimistic 

är dom definierade?

sen så bör du göra 

```
user = replace(request.form("usern"),"'","''")
pass = replace(request.form("passw"),"'","''")
```

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

## #6 — Cannabis_Tomten, 2003-02-20T16:17Z

> **LarsG skrev:**
>
> Dom här då
> 
> adOpenStatic, adLockOptimistic 
> 
> är dom definierade?
> 
> sen så bör du göra 
> 
>
>
> ```
> user = replace(request.form("usern"),"'","''")
> pass = replace(request.form("passw"),"'","''")
> ```

deifinerade? hahaha,  jadu jag har inte den blekaste :r
okej jag ska testa o ändra d där!

men förut hade jag inte. "RS.open", då hade jag typ

"SET RS.execute(sql)"

men mins inte hur man skulle skriva det..

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

## #7 — Cannabis_Tomten, 2003-02-20T16:19Z

okej, nu fungerade det när jag tog bort "adOpenStatic, adLockOptimistic " från koden! kan nån vara bussig o tala om vad "adOpenStatic, adLockOptimistic " innebär.. verkar vara en konstig kodbit :P

Tack

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

## #8 — LarsG, 2003-02-20T16:25Z

Det finns ingen anledning att byta till rs.open om du bara skall hämta data.

adOpenStatic, adLockOptimistic  definieras normalt i en fil som heter adovbs.inc och anger hur recordsetet öppnas, om man tillåter att förändring sker eller inte.

Om man inte vill inkludera denna fil så kan man själv de de konstanter som man faktiskt använder

const adOpenStatic = 3
const adLockOptimistic = 3

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

## #9 — Cannabis_Tomten, 2003-02-20T17:31Z

Istället för att skapa en ny tråd, så åter andvänder jag denna :P
i min do_login.asp har jag lagt till funktionen datediff, för att kolla av om fältet "online" är över 5 minuter gammalt, men nått går knas å vill inte fungera..

> ADODB.Field (0x80020009)
> Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
> /weborg/do_login.asp, line 26

```
<%
user = replace(request.form("usern"),"'","''")
pass = replace(request.form("passw"),"'","''")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members where username='"&user&"' AND password='"&pass&"'"
RS.Open SQL, Conn, 3, 3

If rs.bof and rs.eof then

	response.write("nä, hittade inget")
else

[b]Do Until RS.EOF

	If RS("status") = "online" AND DateDiff("n", RS("online"), Now) > 5 Then
		RS("status") = "offline"
		RS.Update
	End If
	
RS.MoveNext
Loop[/b]

	Session("user") = RS("username")
	session("id") = RS("id")

		RS("status") = "online"
		RS("online") = now
		RS.Update

end if

rs.close
conn.close
%>
```

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

## #10 — Cannabis_Tomten, 2003-02-20T17:44Z

Det löste sej, ändrade nästan hela sidan, tänkte helt fel :P

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

## #11 — LarsG, 2003-02-20T17:54Z

Du kan inte lägga detta

```
RS("status") = "online"
RS("online") = now
```

efter loopen eftersom du redan då har kommit till slutet.

Varför har du en loop överhuvudtaget? Username är väl unikt?

```
If rs.bof and rs.eof then

	response.write("nä, hittade inget")
else
	Session("user") = RS("username")
	session("id") = RS("id")

		RS("status") = "online"
		RS("online") = now
		RS.Update
end if
```

Det finns heller ingen anledning att sätta någon offline eftersom du sätter den till online direkt efter.

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

## #12 — Cannabis_Tomten, 2003-02-20T18:16Z

hehehehe.... jag kom på det själv... detta e den nya koden som jag gjorde... fungerar alldeles utmärkt! tummen upp!!

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databaser/members.mdb")&";"
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members"
RS.Open SQL, Conn, 3, 3

Do Until RS.EOF

	If RS("status") = "online" AND DateDiff("n", RS("online"), Now) > 5 Then
		RS("status") = "offline"
		RS.Update
	End If
	
RS.MoveNext
Loop

RS.Close

RS.Open SQL, Conn, 3, 3
Do Until RS.EOF

IF Request.Form("usern") = RS("username") And Request.Form("passw") = RS("password") Then

	Session("user") = RS("username")
	session("id") = RS("id")

		RS("status") = "online"
		RS("online") = now
		RS.Update

		Response.Redirect "default.asp"
	END IF
RS.movenext
loop
rs.close
conn.close
Response.Redirect "login.asp?vad=error"
%>
```

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

## #13 — Cannabis_Tomten, 2003-02-20T18:18Z

lite loopar o grejer, men lixom, det fungerar, inte så high på vad det gäller ASP längre, har inte hållt på med det sen mer än 1 år hehe.. så liiiite rostig e man... men d e smällar man får ta =)

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

## #14 — Cannabis_Tomten, 2003-02-20T18:49Z

ere nån mer än jag som tycker att min nya kod e liiite skev? den fungerar alldeles utmärkt! men d känns konstigt att loopa

**"Session("user") = RS("username")
session("id") = RS("id")"**

nån som kan modda koden lite så den ser lite cleanare ut på nå sätt, för d känns onödigt att loopa session grejen..

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

## #15 — solbulle, 2003-02-20T19:26Z

Varför stänga RS för att sen öppna igen?

RS.movefirst

Det du gör är att sätta ALLA offline om dom inte loggat in under de senaste fem minutrarna, är det rätt uppfattat?
Om det är så, har du någon anna ncheck någonstans som ser till att "hålla" dom online?

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

## #16 — Cannabis_Tomten, 2003-02-21T08:11Z

> **solbulle skrev:**
>
> Varför stänga RS för att sen öppna igen?
> 
> RS.movefirst
> 
> Det du gör är att sätta ALLA offline om dom inte loggat in under de senaste fem minutrarna, är det rätt uppfattat?
> Om det är så, har du någon anna ncheck någonstans som ser till att "hålla" dom online?

ja det har jag, väl inne på sidan så kommer det finnas en frame som visar vilka som e anslutna, och den kommer refresha var 3:e minut, men jag ska ändra datediff till 20 min! har satt till fem nu, för att slippa vänta 20 min för att kolla om det fungerar =) hehe

ska kolla på RS.Movefirst när jag kommer hem!
nu måste jag till skolan! och laga ett nätagg, en dockstation och ett labrationskort, som vi lyckades bränna sönder igår hehe..

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

## #17 — solbulle, 2003-02-21T11:49Z

Oki, då är jag med. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/68879-fel-på-min-databas-kod
