---
title: "Vill inte sparas.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/75806-vill-inte-sparas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "asp"
published: "2003-05-04T07:35:59.000Z"
updated: "2003-05-04T08:35:21.000Z"
replies: 24
views: 410
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/75806-vill-inte-sparas"
---

# Vill inte sparas..

_Sida 1 av 2._

## #1 — asp, 2003-05-04T07:35Z

Hej!

Jag bygger just nu på ett nyhetsscript, ett väldigt simpelt. Saken är den att jag inte kan spara information i databasen. Det går att skriva ut nyheterna elegant.

Jag ser inget fel på min kod:

```
<%
Case "spara"
Dim rubrik, text, datum
rubrik = Trim(Request.Form("rubrik"))
text = Trim(Request.Form("text"))
datum = Trim(Request.Form("datum"))
If Len(rubrik) > 0 Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/databas.mdb")
Set Rs = Conn.Execute("INSERT INTO Post (Datum, Rubrik, Text) VALUES ('" & datum & "','" & rubrik & "','" & text & "')")
Response.Write("<b>Nyheten är sparad!</b>")
Conn.Close
Set Conn = Nothing
End If
%>
[kod]

Här är formuläret:
[kod]
<form name="post" method="post" action="nyheter.asp?visa=spara">
Datum:<input tpe="text" name="datum"><br>
Rubrik:<input type="text" name="rubrik"><br>
Text:<textarea name="text"></textarea><br>
<input type="submit" value="skicka">
</form>
```

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

## #2 — @nders, 2003-05-04T07:38Z

Text är ett reserverat ord, byt namn på fältet. 

Får du något felmeddelande, så inkludera detta i felbeskrivningen. (Det känns som att du skulle kunna få ett *Syntax error in INSERT INTO-statement* eller liknande)

**red:** dessutom; att skapa ett recordset när man gör INSERT, UPDATE eller DELETE är onödigt, eftersom dylika frågor inte returnerar någonting. 

Mvh

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

## #3 — icaaq, 2003-05-04T07:40Z

Eller klammra \[text\] ;)

Mvh icaaq

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

## #4 — voigtann1, 2003-05-04T07:40Z

Är datum i databasen en text eller ett Datum/tid
isåfall ska du inte ha ' utan #:

```
Set Rs = Conn.Execute("INSERT INTO Post (Datum, Rubrik, [Text]) VALUES (#" & datum & "#,'" & rubrik & "','" & text & "')")
```

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

## #5 — icaaq, 2003-05-04T07:42Z

> **voigtann1 skrev:**
>
> Är datum i databasen en text eller ett Datum/tid
> isåfall ska du inte ha ' utan #:
>
>
> ```
> Set Rs = Conn.Execute("INSERT INTO Post (Datum, Rubrik, Text) VALUES (#" & datum & "#,'" & rubrik & "','" & text & "')")
> ```

OT: Spelar det nån roll om man har access 2000 + ??

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

## #6 — @nders, 2003-05-04T07:44Z

I mina tester med Access 2000 går det precis lika bra att använda apostrofer, och det känns ju mest normalt, eftersom det (vad jag vet) inte finns någon annan dbms som använder annat än apostrofer för att markera datumvärden.

Mvh

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

## #7 — voigtann1, 2003-05-04T07:45Z

vet inte.. men # visar bättre tycker jag :e

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

## #8 — icaaq, 2003-05-04T07:48Z

Det är ju dock smidigare att andvända apostrofer om man ska byta dbms

Mvh icaaq

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

## #9 — asp, 2003-05-04T07:57Z

Får fortfarande felmeddelande:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Typblandningsfel i villkorsuttryck.
/Nyheter/nyheter.asp, line 44

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

## #10 — @nders, 2003-05-04T08:04Z

Gjorde du ändringen som voigtann1 föreslog?

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

## #11 — asp, 2003-05-04T08:05Z

Jag bytte ut fältet Text till Nyhet och ändrade Text till Nyhet i koden också. Borde inte det räcka?

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

## #12 — @nders, 2003-05-04T08:07Z

Nej, det här felmeddelandet har inget med det att göra. Prova att göra som voigtann1 föreslår.

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

## #13 — asp, 2003-05-04T08:12Z

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i datum i frågeuttrycket '##'.
/Nyheter/nyheter.asp, line 44

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

## #14 — @nders, 2003-05-04T08:15Z

Det verkar som att variabeln *datum* inte innehåller någonting.

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

## #15 — asp, 2003-05-04T08:19Z

Så här ser "spara" ut just nu. Rubrik och Datum är text, Nyhet är PM.

```
<%
Case "spara"
Dim rubrik, nyhet, datum
rubrik = Trim(Request.Form("rubrik"))
nyhet = Trim(Request.Form("nyhet"))
datum = Trim(Request.Form("datum"))
If Len(rubrik) > 0 Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/databas.mdb")
Set Rs = Conn.Execute("INSERT INTO Post (Datum, Rubrik, Nyhet) VALUES ('" & datum & "','" & rubrik & "','" & nyhet & "')")
Response.Write("<b>Nyheten är sparad!</b>")
Conn.Close
Set Conn = Nothing
End If
%>
```

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

## #16 — @nders, 2003-05-04T08:22Z

Men; datumet som kommer från formuläret. Fyllde du i något i datumfältet? Det ser ut som att variabeln *datum* saknar värde. 

Och: när man felsöker SQL-frågor så gör man det enklast genom att skriva ut den färdiga SQL-frågan till webbläsaren, så man ser vad som exekveras.

```
strSQL = "INSERT bla bla bla"
Response.write strSQL
Response.end
```

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

## #17 — asp, 2003-05-04T08:26Z

Nu går det att skicka så man kommer till spara utan felmeddelande men inget syns där jag skriver ut nyheterna..

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

## #18 — @nders, 2003-05-04T08:28Z

Response.end finns med i koden för att inte asp-sidan skall fortsätta exekveras, alltså om du använde det jag gav dig senast så är det till för att slänga fram SQL-frågan till browsern för felsökning. Ingenting sparas alltså i databasen.

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

## #19 — asp, 2003-05-04T08:30Z

Det sparas i databasen men det skrivs inte ut rätt som det gjorde förut. här är koden där nyheterna skrivs ut:

```
<%
ase "nyheter"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/databas.mdb")
Set Rs = Conn.Execute("SELECT * FROM Post ORDER BY Id DESC")
Do Until Rs.EOF
%>
<table width="350" cellpadding="0" cellspacing="3" style="border: 1px solid black; background-color: #b1caf3">
<tr>
<td>
<b><%= rs("rubrik") %></b><span style="font-size: 9px"> - <%= rs("datum") %></span><br>
<%= rs("nyhet") %>
<td>
</tr>
</table>
<table>
<tr>
<td height="7"></td>
</tr>
</table>
<%
Rs.Movenext
Loop
Rs.Close : Set Rs = Nothing
Conn.Close : Set Conn = Nothing
%>
```

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

## #20 — @nders, 2003-05-04T08:31Z

Hur skrivs det ut då? Hur ska det skrivas ut?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/75806-vill-inte-sparas  
Nästa sida: https://www.webforum.nu/amne/asp/75806-vill-inte-sparas/page2.md
