---
title: "skriva ut resultat från databas, 2 st likadana resultat = 1 resultat"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/125170-skriva-ut-resultat-från-databas-2-st-likadana-resultat-1-resultat"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Dashi"
published: "2005-03-26T16:35:57.000Z"
updated: "2005-03-26T23:25:20.000Z"
replies: 28
views: 560
page: 1
pages: 2
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/125170-skriva-ut-resultat-från-databas-2-st-likadana-resultat-1-resultat"
---

# skriva ut resultat från databas, 2 st likadana resultat = 1 resultat

_Sida 1 av 2._

## #1 — Dashi, 2005-03-26T16:35Z

Har ett litet problem här.. i min access databas har jag t.ex 2 kolumner den ena heter namn och den andra heter resultat i dessa ligger t.ex följande:

Resultat:     Namn:
25023                        Bertil
25023                        Olof
25023                        Nisse
24987                        Bodil
24987                        Lennart

Med denna koden:

```
Do Until RecSet.EOF

response.write "<a href=""poangresultat.asp?resultat=" & recset("resultat") &""">" & recset("resultat") & "</a><br>"

RecSet.MoveNext
Loop
```

skriver den ut 5 st länkar som då ser ut såhär:

25023
25023
25023
24987
24987

jag vill istället att den skriver ut såhär altså ett av varje nr som finns i tabellen:

25023
24987

Mvh //Darek

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

## #2 — Poffe, 2005-03-26T16:41Z

Använd distinct i din SQL-sats.

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

## #3 — Dashi, 2005-03-26T16:48Z

> **Poffe skrev:**
>
> Använd distinct i din SQL-sats.

hur? :P

här här du sql satsen :)

```
namn=Request.Querystring("namn")

visa = "SELECT * FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat" 

RecSet.Open visa, Connect, adOpenStatic, adLockOptimistic
```

Mvh //Darek

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

## #4 — WebbisNet, 2005-03-26T17:05Z

> **Dashi skrev:**
>
> > **Poffe skrev:**
> >
> > Använd distinct i din SQL-sats.
>
> 
> hur? :P
> 
> här här du sql satsen :)
> 
>
>
> ```
> namn=Request.Querystring("namn")
> 
> visa = "SELECT * FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat" 
> 
> RecSet.Open visa, Connect, adOpenStatic, adLockOptimistic
> ```
>
> 
> 
> Mvh //Darek

```
namn=Request.Querystring("namn")

visa = "SELECT DISTINCT  namn, resultat FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat" 

RecSet.Open visa, Connect, adOpenStatic, adLockOptimistic
```

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

## #5 — Poffe, 2005-03-26T17:14Z

> **Dashi skrev:**
>
> hur? :P

Det finns en riktigt bra sökfunktion här som hittar det mesta, testa gärna den.

```
Select Distinct resultat From resultattab Where namn = '" & Replace(namn, "'", "''") & "' Order By resultat"
```

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

## #6 — Dashi, 2005-03-26T19:31Z

vad är det för skillnad på 

```
visa = "SELECT DISTINCT resultat FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat
```

och på

```
visa= "SELECT DISTINCT resultat FROM resultattab WHERE namn = '" & Replace(namn, "'", "''") & "' ORDER BY resultat"
```

???

Mvh //Darek

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

## #7 — Poffe, 2005-03-26T19:33Z

Första har inget skydd alls mot sql-injections.. Kommer du inte ihåg den tråden?

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

## #8 — WebbisNet, 2005-03-26T19:35Z

ne men det är bara att göra som du skriver eller placera variabeln i min funktion som han använder i sql-en

det han ville veta var hur man använder distinct och det har vi båda svarat på nu

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

## #9 — WebbisNet, 2005-03-26T19:37Z

> **Dashi skrev:**
>
> vad är det för skillnad på 
> 
>
>
> ```
> visa = "SELECT DISTINCT resultat FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat
> ```
>
> 
> 
> och på
> 
>
>
> ```
> visa= "SELECT DISTINCT resultat FROM resultattab WHERE namn = '" & Replace(namn, "'", "''") & "' ORDER BY resultat"
> ```
>
> 
> 
> ???
> 
> Mvh //Darek

I den andra så bygger du in ett skydd som sql-injections (farliga tecken), det gör du inte i första satsen, lägg märke till replace som byter ut ' mot "

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

## #10 — Dashi, 2005-03-26T19:37Z

> **Poffe skrev:**
>
> Första har inget skydd alls mot sql-injections.. Kommer du inte ihåg den tråden?

okej.. japp, men grejen är att jag provade med båda 2 och se om där är någon skillnad på resultatet, och där va ingen skillnad, tänkte de sen att den andra skyddar mot sql-injections, provade därför en injection och injectionen funkade ändå även om jag hade den raden du gav mig..

Mvh //Darek

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

## #11 — Poffe, 2005-03-26T19:37Z

> **WebbisNet skrev:**
>
> ne men det är bara att göra som du skriver eller placera variabeln i min funktion som han använder i sql-en
> 
> det han ville veta var hur man använder distinct och det har vi båda svarat på nu

Och sen frågade han vad det var för skillnad på de två koderna han visade och då svarade jag på det. Tråden jag syftar på är inte den du tänker på (leox:s tråd) utan en som var uppe för ett tag sedan.

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

## #12 — Poffe, 2005-03-26T19:39Z

> **Dashi skrev:**
>
> okej.. japp, men grejen är att jag provade med båda 2 och se om där är någon skillnad på resultatet, och där va ingen skillnad, tänkte de sen att den andra skyddar mot sql-injections, provade därför en injection och injectionen funkade ändå även om jag hade den raden du gav mig..
> 
> Mvh //Darek

Fick du fel då du skrev in en ' med koden som jag visade?

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

## #13 — Dashi, 2005-03-26T19:41Z

> **Poffe skrev:**
>
> > **Dashi skrev:**
> >
> > okej.. japp, men grejen är att jag provade med båda 2 och se om där är någon skillnad på resultatet, och där va ingen skillnad, tänkte de sen att den andra skyddar mot sql-injections, provade därför en injection och injectionen funkade ändå även om jag hade den raden du gav mig..
> > 
> > Mvh //Darek
>
> Fick du fel då du skrev in en ' med koden som jag visade?

skrev till 'hi' or 1 = 1 och fick då fram information ändå, och 'hi' or 1 = 1 är en sorts sql-injection där man får reda på info om vad kolumnerna i tabellen heter

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

## #14 — Poffe, 2005-03-26T19:43Z

Nja, det är inte riktigt så man skriver men det här inte hit. Vilken information fick du fram?

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

## #15 — Dashi, 2005-03-26T19:51Z

> **Poffe skrev:**
>
> Nja, det är inte riktigt så man skriver men det här inte hit. Vilken information fick du fram?

sorry skrev lite fel.. använda mig av hi' or 1=1--

fick då fram detta meddelande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i sträng i frågeuttrycket 'name = 'hi' or 1=1--' ORDER BY resultat'.
/sida/poangresultat.asp, line 29

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

## #16 — Poffe, 2005-03-26T19:56Z

Är du säker på att du använder den kod jag gav, alltså den som byter ut ' mot ''?

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

## #17 — Dashi, 2005-03-26T20:03Z

> **Poffe skrev:**
>
> Är du säker på att du använder den kod jag gav, alltså den som byter ut ' mot ''?

använder mig exakt av följande kod, direkt kopierad från asp filen..

```
visa = "SELECT DISTINCT resultat FROM resultattab WHERE name = '" & Replace(name, "'", "''") & "' ORDER BY resultat"
```

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

## #18 — Poffe, 2005-03-26T20:06Z

Kör du lokalt eller på hotell? har du laddat upp filen om du kör på hotell? Har du någon adress så man kan prova?

Annars vet jag faktiskt inte, kan vara så att jag missat nått, är riktigt bakis i dag så tänker inte helt klart ;)

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

## #19 — Dashi, 2005-03-26T20:17Z

jag kör lokalt.. ska testa sen när jag lägger upp den på hotell, kan skriva till dig då.. för det kan bero på ett annat fel osså som jag hitta.. men ska testa det sen.. men du det jag tänkte på, hjälper inte detta mot sql injections??

```
On Error Resume Next

Response.Redirect "fel.asp"
```

för då vissas ju inte error sidan med informationen utan då kommer man ju endast direkt till fel.asp?

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

## #20 — Poffe, 2005-03-26T20:26Z

Nej, alltså SQL-injections kan användas på många sätt. Ett är att få fram information genom felmeddelanden, men du kan även använda det utan att skapa felmeddelanden, t.ex. logga in på andra personers konton och linande på olika webbtjänster som inte är skyddade.

Den kod du gav nu skulle väll iofs med lite modifikation hindra att man ser ett felmeddelande men hindrar inte sql-injections.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/125170-skriva-ut-resultat-från-databas-2-st-likadana-resultat-1-resultat  
Nästa sida: https://www.webforum.nu/amne/asp/125170-skriva-ut-resultat-från-databas-2-st-likadana-resultat-1-resultat/page2.md
