---
title: "ändra Session id till något annat"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/70496-ändra-session-id-till-något-annat"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "medialabs"
published: "2003-03-08T21:17:15.000Z"
updated: "2003-03-09T12:49:50.000Z"
replies: 19
views: 421
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/70496-ändra-session-id-till-något-annat"
---

# ändra Session id till något annat

## #1 — medialabs, 2003-03-08T21:17Z

Har just kommit på att jag inte kan ha WHERE id = " & session("id") lika med just id eftersom den verkar gå efter postens id i access kan jag göra nått så att den går efter fältet "kundnr" eftersom jag har flera tabeller med olika uppgifter och i varje tabell har jag just kundnr med i posterna så det borde ju funka så att den loopar fram efter kundnr istället för ID.

När jag loggar in så sätts den här         Session("id") = recset("id")
kan man ändra så att den går efter kundnr.

\---------------Min databas koppling-----------

\<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & server.mappath("client987.mdb") 

SQL = "SELECT \* From tbluppgifter WHERE id = " & session("id")
Set RecSet = Connect.Execute(SQL)
%\>

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

## #2 — Peeer, 2003-03-08T21:29Z

Re: ändra Session id till något annat

> **medialabs skrev:**
>
> Har just kommit på att jag inte kan ha WHERE id = " & session("id") lika med just id eftersom den verkar gå efter postens id i access kan jag göra nått så att den går efter fältet "kundnr" eftersom jag har flera tabeller med olika uppgifter och i varje tabell har jag just kundnr med i posterna så det borde ju funka så att den loopar fram efter kundnr istället för ID.

Möjligen är jag dum, men jag begriper inte vad du menar (beror kanske på dina 369 tecken i en och samma mening.). Vad är det du vill göra?

WHERE kundnr = " & session("id") ??

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

## #3 — medialabs, 2003-03-08T21:37Z

Ska försöka förklara lite bättre,

När jag loggar in på sidan så görs en kontroll först av anv & lösen. Sedan sätts **Session("id") = recset("id")**  sedan kommer man till index sidan. Och där loopar jag fram lite uppgifter som finns sparade i en tabell. Men nu ser jag att om jag ska ta fram uppgifter från en annan tabell så kan det vara så att primärnyckeln i fältet ID är 4 och i en annan 8 och då får jag detta. Kan man ändra session id till att gå efter kundnr istället för i varje tabell eller Post så finns just kundnr med.

ADODB.Field error '80020009' 

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post. 

/konto.asp, line 0 

Kontroll.asp koden --------

```
<%
Function SQLText(Value)
    If Len(Value) Then
        SQLText = "'" & Replace(Value, "'", "''") & "'"
    Else
        SQLText = "Null"
    End If
End Function

    Set Con = Server.CreateObject("ADODB.Connection")
    Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client987.mdb") 

    strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password"))
    Set RecSet = Server.CreateObject("ADODB.Recordset")
    RecSet.Open strSQL, Con

    If not recset.eof then
        Session("authentication") = "yes" 
        Session("id") = recset("id")
	Response.Redirect "index.asp"
else
```

 

Index.asp sidans databaskod---------------

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client987.mdb") 

SQL = "SELECT * From tbluppgifter WHERE id = " & session("id")
Set RecSet = Connect.Execute(SQL)
%>
```

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

## #4 — KoTTeN, 2003-03-08T23:40Z

```
    If not recset.eof then
        Session("authentication") = "yes" 
        Session("[B]kundnr[/B] ") = recset("[B]kundnr[/B]")
	Response.Redirect "index.asp"
```

 Eller?

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

## #5 — medialabs, 2003-03-08T23:46Z

> **KoTTeN skrev:**
>
> ```
>     If not recset.eof then
>         Session("authentication") = "yes" 
>         Session("[B]kundnr[/B] ") = recset("[B]kundnr[/B]")
> 	Response.Redirect "index.asp"
> ```
>
>  Eller?

Nja, jag har gjort så här Session("**kundnr** ") = recset("**id/B\]") och så har jag ändrat batabas kopplingen men om jag försöker hämta data från en annan tabell så blir det stop. varför??**

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

## #6 — medialabs, 2003-03-09T11:28Z

ingen?

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

## #7 — @nders, 2003-03-09T11:37Z

Om ID är olika i de olika tabellerna så är det inte så konstigt att det blir galet. Varför kallar du sessionsvariabeln kundnummer och ändå lagrar id i den? Varför inte lagra kundnumret i sessionen och använda den i SQL-frågan?

Jag förstår ingenting av vad problemet är, måste jag dock tillstå.

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

## #8 — medialabs, 2003-03-09T11:40Z

> **@nders skrev:**
>
> Om ID är olika i de olika tabellerna så är det inte så konstigt att det blir galet. Varför kallar du sessionsvariabeln kundnummer och ändå lagrar id i den? Varför inte lagra kundnumret i sessionen och använda den i SQL-frågan?
> 
> Jag förstår ingenting av vad problemet är, måste jag dock tillstå.

Ok, kan du visa hur sql frågan ska vara så att den letar efter kundnr istället för ID, Detta är ganska nytt område för mig.

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

## #9 — Peeer, 2003-03-09T11:57Z

```
SQL = "SELECT * From tbluppgifter WHERE kundnr = " & session("id")
```

??

Förstår fortfarande inte vad du villl göra :l

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

## #10 — medialabs, 2003-03-09T12:10Z

Hmm, jag är dålig på att förklara men när jag har satt 

```
    Session("kundnr") = recset("id")
```

 och loggar in och sedan lopar fram lite information från samma tabell där anv. & lösen ligger med
 

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client987.mdb") 

SQL = "SELECT * From tbluppgifter WHERE id = " & session("kundnr")
Set RecSet = Connect.Execute(SQL)
%>
```

SÅ funkar det utan problem. Men problemet kommer när jag försöker hämta information från en ANNAN tabell. Och det är i tabellen **webbhotell** och i den tabellen så har jag ett fält som heter kundnr och i det fältet ligger kundnr så jag skulle vilja gå efter kundnr istället för id.

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

## #11 — Sebbe, 2003-03-09T12:18Z

```
SQL = "SELECT tbluppgifter.*, tblwebbhotell.* FROM tbluppgifter INNER JOIN tblwebbhotell ON tbluppgifter.id = tblwebbhotell.kundnr WHERE tbluppgifter.id = " & Session("kundnr")
```

??

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

## #12 — Peeer, 2003-03-09T12:18Z

Last try:

```
SQL = "SELECT * From webbhotell WHERE kundnr = " & session("kundnr")
```

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

## #13 — medialabs, 2003-03-09T12:21Z

> **Peeer skrev:**
>
> Last try:
>
>
> ```
> SQL = "SELECT * From webbhotell WHERE kundnr = " & session("kundnr")
> ```

Så här blev det med ditt förslag, Jag ska testa det andra förslaget nu.

```
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. 

/test.asp, line 24 

24 >> Set RecSet = Connect.Execute(SQL)
```

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

## #14 — medialabs, 2003-03-09T12:24Z

> **Sebbe skrev:**
>
> ```
> SQL = "SELECT tbluppgifter.*, tblwebbhotell.* FROM tbluppgifter INNER JOIN tblwebbhotell ON tbluppgifter.id = tblwebbhotell.kundnr WHERE tbluppgifter.id = " & Session("kundnr")
> ```
>
> 
> ??

Och sä här blev det med detta

```
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC Microsoft Access Driver] Type mismatch in expression. 

/test.asp, line 24
```

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

## #15 — Peeer, 2003-03-09T12:25Z

Vad har du för datatyp på fältet kundnr? Är det ett textfält så får du ändra till:

```
SQL = "SELECT * From webbhotell WHERE kundnr = '" & session("kundnr")&"'"
```

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

## #16 — medialabs, 2003-03-09T12:38Z

> **Peeer skrev:**
>
> Vad har du för datatyp på fältet kundnr? Är det ett textfält så får du ändra till:
>
>
> ```
> SQL = "SELECT * From webbhotell WHERE kundnr = '" & session("kundnr")&"'"
> ```

Fältet är ett textfält men din kod hjälpte inte.  :(

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

## #17 — Sebbe, 2003-03-09T12:40Z

```
SQL = "SELECT * FROM webbhotell WHERE kundnr = '" & CStr(Session("kundnr")) & "'"
```

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

## #18 — Peeer, 2003-03-09T12:41Z

Fortfarande samma felmeddelande?

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

## #19 — solbulle, 2003-03-09T12:41Z

```
SQL = "SELECT * From webbhotell WHERE kundnr = '" & Cstr(session("kundnr")) &"'"
```

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

## #20 — medialabs, 2003-03-09T12:49Z

Nu funkar allt perfekt tackar för er hjälp, Det var session variabel som satt fel på nått konstigt sätt men jag fick det att funka

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/70496-ändra-session-id-till-något-annat
