---
title: "Ändra i db"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/122724-ändra-i-db"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Agneus"
published: "2005-02-18T08:40:50.000Z"
updated: "2005-02-21T17:05:42.000Z"
replies: 5
views: 402
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/122724-ändra-i-db"
---

# Ändra i db

## #1 — Agneus, 2005-02-18T08:40Z

1\. Filen bokn_form_hjarter.asp listar en vald post från en Access db. Här ska man kunna skriva in eller redigera befintliga uppgifter i posten.
2\. Ändringarna skickas vidare till update_hjarter.asp som uppdaterar databasen och redirectar till admin.\_hjarter.asp som listar hela databasen.

När jag ändrat uppgifterna i (1) bokn_form_hjarter.asp och trycker på knappen "Boka" får jag felmeddelandet: *Sidan kan inte visas, HTTP 500 - Internt serverfel Internet Explorer*. Inget är heller skrivet till db.
Vad gör jag för fel?

**bokn_form_hjarter.asp**

```
<%@Language=VBScript %>
<%option explicit%>
<%
	sub DelID(ID)
	   InputBox ID
	end sub
%>
<%
	'Tar emot vecka från admin_hjarter.asp
	 Dim vecka	
	 vecka = Request.QueryString("vecka")
%>
<%
	Dim path
	path = Server.MapPath("/db/boka.mdb")
	
	Dim Conn 
	Set Conn=server.createobject("adodb.connection")
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & path

	Dim strSQL
	strSQL = "SELECT vecka,namn,tel,mail,status FROM tab_hjarter WHERE vecka = " & vecka
	Dim rs
	Set rs = Conn.Execute(strSQL)
%>

<html>
<head>
</head>

<body>

<h1>Bokning Hjärter</h1>
    
<form method="POST" action="update_hjarter.asp">
<table border="0" cellspacing="0" width="100%">
  <tr>
    <td width="75%" colspan="3"><b>Vecka</b><br>
    <input type="text" name="vecka" size="3" value="<% =rs("vecka") %>"><br>
    </td>
    <td width="25%">
    <input type="submit" value="Boka" name="Change">
    </td>
    </tr>
    <tr>
    <td width="25%"><b>Namn</b>:<br>
    <input type="text" name="namn" size="23" value="<%=rs("namn")%>">
    </td>
    <td width="25%"><b>Telefon</b>:<br>
    <input type="text" name="tel" size="20" value="<%=rs("tel")%>">
    </td>
    <td width="25%"><b>E-post</b>:<br>
    <input type="text" name="mail" size="23" value="<%=rs("mail")%>">
    </td>
    <td width="25%"><b>Status</b>:<br>
    <input type="text" name="status" size="10" value="<%=rs("status")%>">
    </td>
  </tr>
</table>
</form>
<%
	Conn.Close
	Set Conn = Nothing
%>
</body>
</html>
```

**update_hjarter.asp**

```
<% Option Explicit %>
<%Response.Buffer = true%>

<%
	sub DelID(ID)
	   InputBox ID
	end sub
%>

<%
Dim vecka
Dim namn
Dim tel
Dim mail
Dim status

vecka = Request.Form("vecka")
namn = Request.Form("namn")
tel = Request.Form("tel")
mail = Request.Form("mail")
status = Request.Form("status")

Dim path
path = Server.MapPath("/db/boka.mdb")

Dim Conn
Set Conn=server.createobject("adodb.connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & path

dim strSQL
strSQL = "UPDATE tab_hjarter SET "&_
"vecka = '" & vecka & "', "&_
"namn = '" & namn & "', "&_
"tel = '" & tel & "', "&_
"mail = '" & mail & "', "&_
"status = '" & status & "', "&_
"WHERE vecka=" & Request.Form("vecka")

Dim rs
Set rs = Conn.Execute(strSQL)

Response.Redirect("admin_hjarter.asp")
%>
```

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

## #2 — @nders, 2005-02-18T08:44Z

> Sidan kan inte visas, HTTP 500 - Internt serverfel Internet Explorer.

Till att börja med, avmarkera "Egna http-felmeddelanden" (eller vad det nu heter) i inställningarna i IE, så du får ett riktigt felmeddelande. Posta sedan detta här.

Har man problem med SQL-frågor som inte gör vad de ska, skriv ut frågan med Response.write istället för att exekvera den, så är det lättare att felsöka.

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

## #3 — Agneus, 2005-02-18T09:21Z

Slarvfel av mig.

> Microsoft VBScript compilation error '800a0400'
> Expected statement
> /Bokn/update_hjarter.asp, line 3
> Option Explicit
> ^

Här är det tydligen något som inte är rätt...

> Microsoft JET Database Engine error '80040e14'
> Syntax error in UPDATE statement.
> /Bokn/update_hjarter.asp, line 42

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

## #4 — J.N., 2005-02-21T10:27Z

HEJ!

Vad blir den utskriva sql:en?
Är verkligen vecka inte ett tal i databasen?

(Koden för sub DelID verkar inte användas.)

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

## #5 — Agneus, 2005-02-21T17:01Z

Hittade felet:

"status = '" & status & "'**,** "&\_    **Det här kommat ska inte vara här**
"WHERE vecka=" & Request.Form("vecka")

Efter att kommat togs bort, fungerar all klockrent.

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

## #6 — @nders, 2005-02-21T17:05Z

Då har du lärt dig till nästa gång du får problem med en SQL-fråga, att skriva ut den istället för att exekvera den? Allt för enklare felsökning!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/122724-ändra-i-db
