---
title: "Select from..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/14317-select-from"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jns"
published: "2002-02-07T19:26:00.000Z"
updated: "2002-02-09T19:23:00.000Z"
replies: 15
views: 294
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/14317-select-from"
---

# Select from...

## #1 — jns, 2002-02-07T19:26Z

skriver en gäst bok och förstår inte hur jag ska göra för att selecta en rad i databasen...

```
<%
set mincon =Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\kalasmannen\db\db_guestbook.mdb")
SQL = "SELECT * from guestbook WHERE ID = '" & Request.Querystring("id") & "'"
rs.Open SQL, mincon
%>
```

och fel koden blir:

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

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

/kalasmannen/msgnfo.asp, line
```

tror att det är nått fel på denna rad:

```
SQL = "SELECT * from guestbook WHERE ID = '" & Request.Querystring("id") & "'"
```

men hur ska den se ut?

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

## #2 — LarsG, 2002-02-07T19:29Z

```
SQL = "SELECT * from guestbook WHERE ID = " & Request.Querystring("id")
```

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

## #3 — @nders, 2002-02-07T19:29Z

Jag utgår ifrån att ID är numeriskt, antagligen en räknare. Då skall man inte ha apostrofer runt värdet i sin SQL-fråga.

Alltså:

```
SQL = "SELECT * from guestbook WHERE ID = " & Request.Querystring("id")
```

Mvh,

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

## #4 — jns, 2002-02-07T19:33Z

tackar båda två... jag har suttit och klurat på detta länge... och nu fick jag till min skapelse... ännu ett steg mot framgång...

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

## #5 — jns, 2002-02-07T21:03Z

har nu ett nytt problem...

```
<%
set mincon = Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\kalasmannen\db\db_guestbook.mdb")
SQL = "SELECT * from guestbook"
rs.Open SQL, mincon

msg = request.Form("msg")
name = request.Form("name")
mail = request.Form("mail")
webpage = request.Form("webpage")
icq = request.Form("icq")

rs.AddNew
rs.("msg") = msg
rs.("name") = name
rs.("mail") = mail
rs.("webpage") = webpage
rs.("icq") = icq
rs.("ip") = request.ServerVariables("REMOTE_ADDR")
rs.("date") = FormatDateTime(date)
rs.("time") = FormatDateTime(time)

mincon.close
%>
```

den säger:
 HTTP 500 Internal server error.
There is a problem with the page you are trying to reach and it cannot be displayed.

hjälp mig...

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

## #6 — LarsG, 2002-02-07T21:12Z

Det skall inte vara någon . vid dessa tilldelningar.

```
rs("msg") = msg
rs("name") = name
rs("mail") = mail
rs("webpage") = webpage
rs("icq") = icq
rs("ip") = request.ServerVariables("REMOTE_ADDR")
rs("date") = FormatDateTime(date)
rs("time") = FormatDateTime(time)
```

Du får bättre felmeddelanden om du ändrar i IE.

Tools 
     internet options
          advanced
              Show user-friendly http 

se till att den rutan inte är kryssad.

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

## #7 — jns, 2002-02-07T21:18Z

bra! tackar...
men:

```
ADODB.Recordset error '800a0cb3' 

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype. 

/kalasmannen/write.asp, line 47
```

vad är nu problemet?

\[Redigerat av jns den 07 feb 2002\]

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

## #8 — LarsG, 2002-02-07T21:34Z

I din open så måste du ange att du vill förändra data

```
rs.Open SQL, mincon,3,3
```

Egentligen så är felet är att du använder recordset istället för sql för att göra update.

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

## #9 — jns, 2002-02-08T16:32Z

och hur kommer min kod se ut om jag använder sql istället?

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

## #10 — jns, 2002-02-09T12:05Z

LarsG?

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

## #11 — LarsG, 2002-02-09T13:37Z

Det finns flera exempel om du söker. 

T.ex.

```
<%
set mincon = Server.CreateObject("ADODB.Connection")

mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\kalasmannen\db\db_guestbook.mdb")

query = "insert into t(msg,name) values('" & msg & "','" & name &')"
mincon.execute query,,128
```

 

Det är bara att fylla på med alla kolumner. Varför har du date och time i två olika kolumner?

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

## #12 — jns, 2002-02-09T14:03Z

min kod ser nu ut så här

```
<%
set mincon = Server.CreateObject("ADODB.Connection")
mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\kalasmannen\db\db_guestbook.mdb")

msg = request.Form("msg")
name = request.Form("name")
mail = request.Form("mail")
webpage = request.Form("webpage")
icq = request.Form("icq")

query = "insert into t(msg,name,mail,webpage,icq,ip,date,time) values('" & msg & "','" & name &"','" & mail & "','" & webpage & "','" & icq & "','" & ip & "','" & date & "','" & time & "')"
mincon.execute query,,128

mincon.close
%>
```

men den tycks inte fungera...

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. 

/kalasmannen/write.asp, line 45
```

får jag som fel meddelande...
line 45 är:

```
mincon.execute query,,128
```

vad är fel på den då?
och jag har date och time i oloika för att de ska visas i olika rutor och jag tyckte att det blev enklast så

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

## #13 — LarsG, 2002-02-09T14:18Z

Jag undvek några problem som kan uppstå om man använder SQL.

Det första är reserverade ord. Om du använder date eller time  t.ex. som kolumnnamn så blir det en konflikt då det är namnet på en funktion. För att undvika det så kan man antingen byta namn på kolumnen (rekommenderas) eller så får man skriva

```

query = "insert into t(msg,name,mail,webpage,icq,ip,[date],[time]) values('" & msg & "','" & name &"','" & mail & "','" & webpage & "','" & icq & "','" & ip & "','" & date & "','" & time & "')"
mincon.execute query,,128
```

Det blir samma problem om du skriver en select-sats så det är inget man kommer undan.

Det andra problemet är att man måste vara mer noga med vilken typ en kolumn är definierad som. Det påverkar hur man anger värdet i insert.

Följande gäller för Access

Text     --\> värdet anges inom '
datetime --\> värdet anges inom #
number   --\> ingen avgränsare

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

## #14 — jns, 2002-02-09T16:39Z

tackar! de funkar jätte bra.... förutom en sak... inläggen kommer i en extremt mycko ordning...

```
2
3
4
5
1
```

och de ska se ut såhär:

```
5
4
3
2
1
```

?

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

## #15 — LarsG, 2002-02-09T16:45Z

Det är aldrig någon garanti att posterna kommer i en viss ordning om du inte använder order by

```
query = "select * from guestBook order by id desc"
```

T.ex. så sorteras resultatet så att de poster som har höhst id kommer först.

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

## #16 — jns, 2002-02-09T19:23Z

wee!
äntligen är den klar...
ta en titt på den här: <http://www25.brinkster.com/kalasmannen/test.htm>

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/14317-select-from
