---
title: "Problem med att lägga till data i databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/74522-problem-med-att-lägga-till-data-i-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Runken"
published: "2003-04-19T20:32:26.000Z"
updated: "2003-04-19T21:12:26.000Z"
replies: 3
views: 243
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/74522-problem-med-att-lägga-till-data-i-databas"
---

# Problem med att lägga till data i databas

## #1 — Runken, 2003-04-19T20:32Z

Hej!

Vi får följande felmeddelande när vi kör vår asp-sida:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
\[Microsoft\]\[ODBC Driver Manager\] Ogiltig längd på sträng eller buffert

eller detta:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
En OLE DB-åtgärd i flera steg genererade fel. Kontrollera alla OLE DB-statusvärden som finns tillgängliga. Inget arbete utfördes.

Vi har försäkrat oss om att posten i databasen är tillräckligt stor så det är tyvärr inte det som är lösningen. 
Det fungerade att lägga in data i databasen första gången vi provade men sen har felmeddelanden visats.
Vad kan detta bero på??

ASP-koden vi använt är följande:

\<% 
Dim conn, anamn

Set conn = createobject("ADODB.Connection")

conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"\_
& "SERVER=localhost;"\_ 
& "DATABASE=CARO;"\_
& "UID=root;PWD=; OPTION=;" 
Set RecSet = Server.CreateObject("ADODB.Recordset")
fraga = "SELECT \* FROM customer"
RecSet.Open fraga, Conn, adOpenStatic, adLockOptimistic

RecSet.addnew
RecSet("anamn") = request.form("testtext")
RecSet.update

RecSet.close

conn.close 
%\>

Mycket tacksamma för svar.
 
Glad påsk!!

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

## #2 — Sebbe, 2003-04-19T20:36Z

I MySQL tror jag att man måste använda SQL:

```
<% 
Dim conn, anamn 

Set conn = createobject("ADODB.Connection") 
conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_ 
& "SERVER=localhost;"_ 
& "DATABASE=CARO;"_ 
& "UID=root;PWD=; OPTION=;" 

strSQL = "INSERT INTO customer (anamn) VALUES ('" & Replace(Request.Form("testtext"),"'","''") & "')"
conn.Execute(strSQL)
conn.Close
Set conn = Nothing
%>
```

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

## #3 — LarsG, 2003-04-19T20:40Z

Jag vet inte varför det blir fel men det finns ingen anledning att använda addnew. Insert är bättre och så skyddar man sig mot SQL injection

```
<%
Dim conn, anamn,q

Set conn = createobject("ADODB.Connection")

conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=CARO;"_
& "UID=root;PWD=; OPTION=;"

anamn = "'" & replace(request.form("testtext"),"'","''") & "'"
q  = "insert into customer(anamn) values(" & anamn & ")"
conn.execute q,,128

conn.close
%>
```

Går det bra att göra insert via något verktyg?

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

## #4 — ponta, 2003-04-19T21:12Z

Tillåter alla andra fält i din tabell NULL? annars blir det nog fel...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/74522-problem-med-att-lägga-till-data-i-databas
