---
title: "SQL update sats som inte funkar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/68279-sql-update-sats-som-inte-funkar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "His Divine Shadow"
published: "2003-02-14T13:49:31.000Z"
updated: "2003-02-15T16:06:26.000Z"
replies: 28
views: 608
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/68279-sql-update-sats-som-inte-funkar"
---

# SQL update sats som inte funkar

_Sida 1 av 2._

## #1 — His Divine Shadow, 2003-02-14T13:49Z

OK, våra trogna tittare från förra tråden vet att jag bytte ut recordset's uåpdatering mot en SQL UPDATE sats

Men nu har jag problem med den, får ett sånt här meddelande:

**Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
\[TCX\]\[MyODBC\]You have an error in your SQL syntax near 'Chambers (White Dwarf 126)Description = Blablahblahblah' at line 1
/wh40k/admin/modify.asp, line 224**
 

Såhär ser koden ut:

```
sql = "UPDATE DATA SET Name = " & Request("Name")
	IF Request("Category") = "" THEN
		sql = sql & "Category = " & Request("AddCategory")
	ELSE
		sql = sql & "Category = " & Request("Category")
	END IF
	IF Request("SubCategory") = "" THEN
		sql = sql & "SubCategory = " & Request("AddSubCategory")
	ELSE
		sql = sql & "SubCategory = " & Request("SubCategory")
	END IF
	IF Request("Species") = "" THEN
		sql = sql & "Species = " & Request("AddSpecies")
	ELSE
		sql = sql & "Species = " & Request("Species")
	END IF
	IF NOT Request("Image") = "" THEN
		sql = sql & "Image = " & Request("Image")
	END IF	
		sql = sql & "Source = " & Request("Source")
		sql = sql & "Description = " & Request("Description")
		sql = sql & "," 
		sql = sql & " WHERE ID = " & Request("ID") & ""
		
Conn.Execute(sql)
```

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

## #2 — Engine^, 2003-02-14T13:53Z

Jag antar att du har en eller flera strängar, så det är nog på sin plats att sätta ut ett par apostrofer här och var.

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

## #3 — His Divine Shadow, 2003-02-14T13:56Z

Hur går denna syntax till?

Såhär kanske mellan raderna?
sql = sql & "',"

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

## #4 — UlfT, 2003-02-14T13:59Z

sql = sql & "'" & strvarde & "'"

Notera att det är en enkelfnutt (') mellan dubbelfnuttarna.

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

## #5 — His Divine Shadow, 2003-02-14T14:07Z

OK, men det där passar inte riktigt in på min SQL sats:
sql = sql & "Category = " & Request("Category")

Försöker jag med:
sql = sql & "Category = "'" & Request("Category") & "'"

Blir det också fel.

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

## #6 — @nders, 2003-02-14T14:09Z

Du saknar en massa kommatecken också.

```
UPDATE balumba SET fält1 = 'värde1', fält2 = 'värde2', fält3 = 'värde3' WHERE ID=1
```

Skriv ut den färdiga SQL-frågan med Response.Write istället för att exekvera den. Då ser du mycket lättare vad det är som är knasigt med den.

Mvh,

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

## #7 — Engine^, 2003-02-14T14:10Z

```
sql = sql & "Category = '" & Request("Category") & "'"
```

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

## #8 — His Divine Shadow, 2003-02-14T15:01Z

Tja nu klagar det på denna rad:
Microsoft VBScript compilation (0x800A0401)
Expected end of statement
/wh40k/admin/modify.asp, line 210, column 57
sql = sql & "SubCategory = '" & Request("AddSubC**a**tegory")) & "'"

Kolumn 57 är fet.

Såhär ser hela koden ut nu:

```
sql = "UPDATE DATA SET Name = '" & Request("Name") & "'"
		sql = sql & "," 
	IF Request("Category") = "" THEN
		sql = sql & "Category = '" & Request("AddCategory") & "'"
		sql = sql & "," 
	ELSE
		sql = sql & "Category = '" & Request("Category") & "'"
		sql = sql & "," 
	END IF
	IF Request("SubCategory") = "" THEN
		sql = sql & "SubCategory = '" & Request("AddSubCategory")) & "'"
		sql = sql & "," 
	ELSE
		sql = sql & "SubCategory = '" & Request("SubCategory")) & "'"
		sql = sql & "," 
	END IF
	IF Request("Species") = "" THEN
		sql = sql & "Species = '" & Request("AddSpecies")) & "'"
		sql = sql & "," 
	ELSE
		sql = sql & "Species = '" & Request("Species")) & "'"
		sql = sql & "," 
	END IF
	IF NOT Request("Image") = "" THEN
		sql = sql & "Image = '" & Request("Image")) & "'"
	END IF	
		sql = sql & "," 
		sql = sql & "Source = '" & Request("Source")) & "'"
		sql = sql & "," 
		sql = sql & "Description = " & Request("Description")
		sql = sql & "," 
		sql = sql & " WHERE ID = " & Request("ID")
		
response.Write sql
```

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

## #9 — solbulle, 2003-02-14T16:02Z

sql = sql & "SubCategory = '" & Request("AddSubCategory")**)** & "'" 

Du har ett ) för mycket, samma sak på flera av dina satser.

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

## #10 — solbulle, 2003-02-14T16:08Z

Kanske:

```
sql = "UPDATE DATA SET Name = '" & Request("Name") & "',"
	IF Request("Category") = "" THEN
		sql = sql & "Category = '" & Request("AddCategory") & "',"
	ELSE
		sql = sql & "Category = '" & Request("Category") & "',"
	END IF
	IF Request("SubCategory") = "" THEN
		sql = sql & "SubCategory = '" & Request("AddSubCategory") & "',"
	ELSE
		sql = sql & "SubCategory = '" & Request("SubCategory") & "',"
	END IF
	IF Request("Species") = "" THEN
		sql = sql & "Species = '" & Request("AddSpecies") & "'," 
	ELSE
		sql = sql & "Species = '" & Request("Species") & "',"
	END IF
	IF NOT Request("Image") = "" THEN
		sql = sql & "Image = '" & Request("Image") & "',"
	END IF	
		sql = sql & "Source = '" & Request("Source") & "'," 
		sql = sql & "Description = " & Request("Description") & "," 
		sql = sql & " WHERE ID = " & Request("ID")
		
response.Write sql
```

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

## #11 — His Divine Shadow, 2003-02-14T21:12Z

Ah, stavfel, man är en riktig klant...

Hursomhelst verkar det funka, förutom att när det finns ' tecken i fältet "description" så funkar det inte.

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

## #12 — crisse6, 2003-02-14T21:30Z

gor en replace.... :)

```
sql = sql & "Description = Replace(Request("Description"),"'","''")
```

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

## #13 — His Divine Shadow, 2003-02-14T21:48Z

Jo tänkte på det men visste inte hur, dendär satsen gav errors, denhär som jag försökte mig på var inte bättre den:
sql = sql & "Description = " & Replace(Request("Description"),"'","''") & ","

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

## #14 — @nders, 2003-02-14T22:13Z

```
sql = sql & "Description = '" & Replace(Request("Description"),"'","''") & "',"
```

Apostrofer runt strängvärden.

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

## #15 — solbulle, 2003-02-14T22:15Z

Om Description är en sträng ska du ha apostrofer även där...
**/r**  precis ja. ;)

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

## #16 — crisse6, 2003-02-15T00:02Z

oj, glomde att skriva fullstandigt, hehe.... tankte mer pa replacen!

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

## #17 — His Divine Shadow, 2003-02-15T00:12Z

Går framåt, men nu är det nått syntax error med den sista raden:
sql = sql & " WHERE ID = '" & Request("ID") & "'"

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

## #18 — crisse6, 2003-02-15T00:15Z

Int ska INTE ha ' fnuttarna runt, skriv

```
sql = sql & " WHERE ID = " & Request("ID") & ""
```

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

## #19 — His Divine Shadow, 2003-02-15T00:18Z

Jo, prövade det, samma fel ännu:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
\[TCX\]\[MyODBC\]You have an error in your SQL syntax near 'WHERE ID = 4' at line 1

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

## #20 — crisse6, 2003-02-15T02:12Z

hur ser hela koden ut nu?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/68279-sql-update-sats-som-inte-funkar  
Nästa sida: https://www.webforum.nu/amne/asp/68279-sql-update-sats-som-inte-funkar/page2.md
