---
title: "Fel i SQL uttryck?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/20950-fel-i-sql-uttryck"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Brimba"
published: "2000-05-23T15:37:00.000Z"
updated: "2000-05-24T10:13:00.000Z"
replies: 4
views: 520
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/databaser-sql/20950-fel-i-sql-uttryck"
---

# Fel i SQL uttryck?

## #1 — Brimba, 2000-05-23T15:37Z

Hej!

Kan någon se något fel på denna raden?

När jag kör uttrycket får jag följande rad:

```
INSERT INTO tabOrder (SaljarID) VALUES (7);INSERT INTO tabOrderArt (OrderID) SELECT OrderID FROM TabOrder ORDER BY OrderID DESC;INSERT INTO tabOrderArt (ArtID, Artikel, ArtAnt, ArtExkl) VALUES ('1003', 'MAXI Tower ATX', '1', '795')
```

Grundkoden ser ut så här:

```
SQLStmt="INSERT INTO tabOrder (SaljarID) VALUES (7);INSERT INTO tabOrderArt (OrderID) SELECT OrderID FROM TabOrder ORDER BY OrderID DESC;INSERT INTO tabOrderArt (ArtID, Artikel, ArtAnt, ArtExkl) VALUES ('" & Request.Form("prodID") & "', '" & Request.Form("ArtNamn") & "', '" & Request.Form("Antal") & "', '" & Request.Form("ArtExkl") & "')"
```

Felmeddelandet jag får är:

Microsoft OLE DB Provider for ODBC Drivers error '8007000e' 

\[Microsoft\]\[ODBC Microsoft Access 97 Driver\] Characters found after end of SQL statement. 

/kategori/add.asp, line 28 

Line 28 är alltså när jag kör SQL uttrycket:

```
connection.execute(SQLStmt)
```

Tacksam för hjälp

Mvh
patrik

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

## #2 — toha, 2000-05-24T06:38Z

Om du skall skicka IN värden i en batch så måste du skapa ett recordset i gränssnittet med locktype som "adLockBatchOptimistic" (= 4). Det gör du genom:

```

Set objRec = Server.CreateObject("ADODB.Recordset")
sSql = "select * from min_tabell"
objRec.Open sSql, , , adLockBatchOptimistic

...
```

Jag tror det skall fungera, är lite osäker om attributen till open()-metoden.

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

## #3 — Brimba, 2000-05-24T08:33Z

Jag provade med följande kod nu

```
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\blabla\blabla\databas.mdb"

SQLStmt="INSERT INTO tabOrder (SaljarID) VALUES (7);INSERT INTO tabOrderArt (OrderID) VALUES (SELECT OrderID FROM TabOrder ORDER BY OrderID DESC);INSERT INTO tabOrderArt (ArtID, Artikel, ArtAnt, ArtExkl) VALUES (" & Request.Form("prodID") & ", " & Request.Form("ArtNamn") & ", " & Request.Form("Antal") & ", " & Request.Form("ArtExkl") & ")"

Set RSobj = Server.CreateObject("ADODB.Recordset")
RSobj.Open SQLStmt, , , adLockBatchOptimistic
connection.execute(RSobj)
Connection.Close
```

Men fick följande felmeddelande:

 

> ADODB.Recordset error '800a0bb9' 
>
> The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another. 
>
> /kategori/add.asp, line 29

Line 29 är:

```
RSobj.Open SQLStmt, , , adLockBatchOptimistic
```

Hoppas på hjälp!

///Patrik

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

## #4 — emission, 2000-05-24T08:49Z

adLockBatchOptimistic är en enum-konstant, som man får med sig om man t.ex. inkluderar adovbs.inc

Värdet på den är 4, så skriv bara

adLockBatchOptimistic=4 

före open-satsen, eller kör med

RSobj.Open SQLStmt, , , 4

så borde det fungera

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

## #5 — Brimba, 2000-05-24T10:13Z

Emission, jag spår att du har ett email :e

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/20950-fel-i-sql-uttryck
