---
title: "Syntaxfel i Update/Insert"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/88142-syntaxfel-i-update-insert"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Asa"
published: "2003-10-10T08:06:56.000Z"
updated: "2003-10-10T08:37:19.000Z"
replies: 10
views: 340
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/88142-syntaxfel-i-update-insert"
---

# Syntaxfel i Update/Insert

## #1 — Asa, 2003-10-10T08:06Z

Vill lägga till lite i databasen men alla fält är ej obligatoriska men det verkar som jag MÅSTE fylla i alla. Datatyperna är text på alla som heter lunch och tal på pris. Datum är datum/tid och rID är tal.
I databasen (ACCESS) har jag inte att man måste skriva nåt av dessa fält.

```
    Lunch1 = Request.Form("lunch1")
    Lunch2 = Request.Form("lunch2")
    Lunch3 = Request.Form("lunch3")
    Lunch4 = Request.Form("lunch4")
    Lunch5 = Request.Form("lunch5")
    Pris1  = Request.Form("pris1")
    Pris2  = Request.Form("pris2")
    Pris3  = Request.Form("pris3")
    Pris4  = Request.Form("pris4")
    Pris5  = Request.Form("pris5")
    Datum  = Request.QueryString("datum")
    rID    = ID

    Set LM=Conn.Execute("Select * From lunchmeny Where rID=" & ID & " And datum=#" & Datum & "#")
    If LM.EOF Then
      Conn.Execute("Insert Into lunchmeny(lunch1,lunch2,lunch3,lunch4,lunch5,pris1,pris2,pris3,pris4,pris5,datum,rID) Values('" & Lunch1 & "','" & Lunch2 & "','" & Lunch3 & "','" & Lunch4 & "','" & Lunch5 & "'," & Pris1 & "," & Pris2 & "," & Pris3 & "," & Pris4 & "," & Pris5 & ",#" & Datum & "#," & rID & ")")
    Else
      Conn.Execute("Update lunchmeny Set lunch1='" & Lunch1 & "',lunch2='" & Lunch2 & "',lunch3='" & Lunch3 & "',lunch4='" & Lunch4 & "',lunch5='" & Lunch5 & "',pris1=" & Pris1 & ",pris2=" & Pris2 & ",pris3=" & Pris3 & ",pris4=" & Pris4 & ",pris5=" & Pris5 & " Where lID=" & LM("lID"))
    ENd If 
    Response.Redirect "index.asp"
```

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

## #2 — m_soderlund, 2003-10-10T08:10Z

Din kod ser rätt ut. Är du säker på att du verkligen satt berörda fält till att de får tillåta nollvärden i posten i Access?

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

## #3 — @nders, 2003-10-10T08:12Z

Nej, du behöver inte ge alla fält ett värde, däremot måste alla fält i SQL-frågan ha ett värde. Du kan liksom inte utelämna talvärden ur SQL-frågan.

Skriv ut SQL-frågan så ser du hur felaktig den är. Om du ska låta talvärden vara "tomma" i databasen, så får du se till att antingen inte ha med fältet i INSERT, eller ge värdet NULL i UPDATE/INSERT.

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

## #4 — Asa, 2003-10-10T08:13Z

Jag har nu kollat och Tillåt nollvärde är Ja på alla och Obligatorisk är Nej.

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

## #5 — Asa, 2003-10-10T08:15Z

Hmm, okej! Men det har ju funkat bra annars. Har inte behövt sätta Null. Men det är ju sjukt att det blir samma fel om jag lämnar en tom när jag ska uppdatera.

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

## #6 — @nders, 2003-10-10T08:20Z

Nej, det är inte konstigt.

```
UPDATE tabell Set fält1 =, fält2= WHERE foo='bar'
```

Syntaxfel så det skriker om det. Har du ett likhetstecken så måste du ange ett värde. Är det textfält är det ju inga problem, eftersom du då anger ett värde ('' / tom sträng) även när ingen text har mottagits.

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

## #7 — Asa, 2003-10-10T08:21Z

Åhh, vare så det var. Men då får jag väl ändra det.

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

## #8 — m_soderlund, 2003-10-10T08:24Z

En sak som man ALLTID ska göra, vilket @nders indirekt säger att man ska göra, är att sätta sina SQL-satser i variabler, exempelvix

```
SQL = "SELECT kolumn FROM tabell"
```

Om det blir ett felmeddelande så är det bara sen att skriva ut variabeln SQL med Response.Write. Då ser man problemet. Som det är just nu är din kod inte så enkel att felsöka, Asa. Dessutom ska man inte använda jokertecken \* utan ange fälten man ska hämta i stället. ;)

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

## #9 — Asa, 2003-10-10T08:30Z

Hehe, okej! Men jag brukar ändra om sql´n om det skulle vara så att jag vill skriva ut den å kolla den. 

SKa komma ihåd det me jokertecknet. Blir det mycket snabbare om man bara skriver de fält man vill hämta?

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

## #10 — Palle, 2003-10-10T08:35Z

> **Asa skrev:**
>
> Blir det mycket snabbare om man bara skriver de fält man vill hämta?

Hur mycket man tjänar beror helt på hur många kolumner man har.

Ponera att du har massor med kolumner men bara vill hämta från två, 
då tjänar du en helt del på att enbart ange dessa två i din sql-sats.

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

## #11 — Asa, 2003-10-10T08:37Z

Okej, men då äre inte mycket jag tjänar på detta. Men ska tänka på detta i framtiden.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/88142-syntaxfel-i-update-insert
