---
title: "Går inte att lägga till i mdb"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/171626-går-inte-att-lägga-till-i-mdb"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Biasse"
published: "2008-05-19T10:29:07.000Z"
updated: "2008-06-08T11:42:16.000Z"
replies: 9
views: 869
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/171626-går-inte-att-lägga-till-i-mdb"
---

# Går inte att lägga till i mdb

## #1 — Biasse, 2008-05-19T10:29Z

Nånting stämmer inte när jag ska lägga till info i mdb.

Får fel på: 

```
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
```

Vad kan det vara för fel på det?

```
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From order" 
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

  RecSet.AddNew
  
  RecSet("Artnr") = Request.Form("MyArray(2,i)")
  RecSet("Produkt") = Request.Form("MyArray(3,i)")
  RecSet("Antal") = Request.Form("MyArray(1,i)")
  RecSet("Namn") = Request.Form("info(0)")
  RecSet("Adress") = Request.Form("info(1)")
  RecSet("Postnr1") = Request.Form("info(2)")
  RecSet("Postnr2") = Request.Form("info(3)")
  RecSet("Ort") = Request.Form("info(4)")
  RecSet("Tele1") = Request.Form("info(5)")
  RecSet("Tele2") = Request.Form("info(6)")
  RecSet("Mail") = Request.Form("info(7)")
  RecSet("Ovrigt") = Request.Form("info(8)")
  RecSet("Datum") = Request.Form("Now()")
  
  RecSet.Update
	
  RecSet.Close
  Connect.Close
  Set RecSet = nothing
  Set Connect = nothing
%>
```

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

## #2 — LarsG, 2008-05-19T10:58Z

Och vad får du för fel då?

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

## #3 — Biasse, 2008-05-19T11:01Z

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i FROM-instruktion.

Och jag har "adovbs.inc" includerad oxo

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

## #4 — voigtann1, 2008-05-19T11:01Z

Jag har svårt att se att dina forms heter "MyArray(2,i)", MyArray(3,i) osv.
Är du säker att det inte är:

```
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From order" 
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

  RecSet.AddNew
  
  RecSet("Artnr") = MyArray(2,i)
  RecSet("Produkt") = MyArray(3,i)
  RecSet("Antal") = MyArray(1,i)
  RecSet("Namn") = info(0)
  RecSet("Adress") = info(1)
  RecSet("Postnr1") = info(2)
  RecSet("Postnr2") = info(3)
  RecSet("Ort") = info(4)
  RecSet("Tele1") = info(5)
  RecSet("Tele2") = info(6)
  RecSet("Mail") = info(7)
  RecSet("Ovrigt") = info(8)
  RecSet("Datum") = Now()
  
  RecSet.Update
	
  RecSet.Close
  Connect.Close
  Set RecSet = nothing
  Set Connect = nothing
%>
```

Och order är ett reserverat ord:

```
Select * From [order]
```

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

## #5 — Biasse, 2008-05-19T11:14Z

Du har rätt som vanligt....   order var ju felet :)

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

## #6 — rhdf, 2008-05-19T12:12Z

och varför envisas folk med att skapa ett recordset för att stoppa IN saker i databasen?
det går alldeles lysande att göra det där på RÄTT sätt, dvs med en  SQL insert

strSQL="INSERT INTO \[order\](dinafält) VALUES(Dinavärden)"
Connect.Execute(strSQL)

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

## #7 — voigtann1, 2008-05-19T12:22Z

Finns delar med .addNew och på detta sätt som Biasse använder sig av som har  sina fördelar.

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

## #8 — Troxy, 2008-05-19T12:51Z

> **rhdf skrev:**
>
> och varför envisas folk med att skapa ett recordset för att stoppa IN saker i databasen?
> det går alldeles lysande att göra det där på RÄTT sätt, dvs med en  SQL insert

ADO är egentligen ett ganska avancerat objektorienterat gränssnitt för databaser.
Tanken är att man ska använda metoder som t.ex. AddNew för att koden ska bli oberoende av databastyp.
Jag är inte helt säker, men AddNew fixar även SQL-injections och är således säkrare.
Man slipper alltså pilla med strängar för att bygga egna SQL-frågor, men allt är en smaksak.  :)

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

## #9 — rhdf, 2008-05-19T13:17Z

ja, ADO är egentligen ganska komplext, men i 9 fall av 10 så använder folk den här metoden enbart för att de kopierat/kollat på gamla exempel från tex aspsidan /idg:s webskola.
Med andra ord så använder de inte de mer avancerade funktionerna i ADO

ett tydligt bevis på detta är användandet av variabeln "addera" för att lagra sql-strängar ;)

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

## #10 — OveRRidE, 2008-06-08T11:42Z

> **rhdf skrev:**
>
> ja, ADO är egentligen ganska komplext, men i 9 fall av 10 så använder folk den här metoden enbart för att de kopierat/kollat på gamla exempel från tex aspsidan /idg:s webskola.
> Med andra ord så använder de inte de mer avancerade funktionerna i ADO
> 
> ett tydligt bevis på detta är användandet av variabeln "addera" för att lagra sql-strängar ;)

Ja, "addera" känner vi igen sedan IDG-tiden. 

Däremot måste jag nog hålla med de andra om det här med input i databasen via .Addnew; det är ett bra sätt i många fall, vid t.ex. datatypshantering, dynamiska antal inputs (iterering till input) eller för överskådlighet. Prestanda däremot blir ju lite lidande. 

Men rent generellt håller jag också med att man skall använda direkta SQL-frågor om man kan vid input.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/171626-går-inte-att-lägga-till-i-mdb
