---
title: "Nu funkar det...men nåt annat strular...."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/74179-nu-funkar-det-men-nåt-annat-strular"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "BulletBoyCrime"
published: "2003-04-15T16:48:05.000Z"
updated: "2003-04-23T19:09:08.000Z"
replies: 110
views: 1570
page: 1
pages: 6
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/74179-nu-funkar-det-men-nåt-annat-strular"
---

# Nu funkar det...men nåt annat strular....

_Sida 1 av 6._

## #1 — BulletBoyCrime, 2003-04-15T16:48Z

JA! Nu funkar min connection till databasen :e
Skrev in {MySQL ODBC 3.51 Driver} i driver=""
Tack!

Men nu strular detta.........

```
Set RecSet = Server.CreateObject("ABODB.Recordset")
```

Borde inte detta funka?  :q

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

## #2 — niko, 2003-04-15T16:51Z

> Borde inte detta funka?

Nix, A**D**O:n är tyvärr väldigt kinkig med stavningen ..

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

## #3 — BulletBoyCrime, 2003-04-15T16:53Z

OJ................... :r
jag hade visst skrivit ABODB, sorry...... jag vet ju att det heter ADODB. Tack! :birp

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

## #4 — BulletBoyCrime, 2003-04-15T16:56Z

Fan...problemen slutar aldrig.....line 14 verkar nu vara felet.
Där står det bara

```
RecSet.AddNew
```

Jag får detta felmeddelandet:

> ADODB.Recordset error '800a0cb3' 
> 
> Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype. 
> 
> /crimea bay/registered.asp, line 14

Jag kör windows 98 och PWS, har detta något att göra med saken?

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

## #5 — @nders, 2003-04-15T16:58Z

Du kan inte använda .AddNew för att lägga till data till en tabell i en MySQL-databas. Du måste använda riktiga SQL-frågor som INSERT för att lägga till data, UPDATE för att uppdatera information i en befintlig post, och DELETE för att radera poster.

(Kul att se att du kommer framåt i alla fall! :bire)

Mvh

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

## #6 — BulletBoyCrime, 2003-04-15T17:01Z

Ah...............Då får jag ändra lite sidor kod............ :(
Men tusan vad härligt, nu kanske det funkar :e

> **@nders skrev:**
>
> (Kul att se att du kommer framåt i alla fall :bire)

 :birp

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

## #7 — BulletBoyCrime, 2003-04-15T17:03Z

Testade men fick nu detta felmeddelande:

> Körningsfel i Microsoft VBScript error '800a01b6' 
> 
> Objektet stöder inte egenskapen eller metoden.: 'INSERT' 
> 
> /crimea bay/registered.asp, line 14

Vad ska jag göra då :q

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

## #8 — @nders, 2003-04-15T17:06Z

Du ska visa kod. ;)

Men, jag tror att du missuppfattade mig. Du måste, istället för att använda .AddNew, skriva och exekvera en INSERT-fråga. Exempel:

```
strSQL = "INSERT INTO minTabell (fält1, fält2) VALUES ('" & variabel1 & "', '" & variabel2 & "')"
mittConnectionObjekt.Execute (strSQL)
```

Mvh,

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

## #9 — BulletBoyCrime, 2003-04-15T17:07Z

Åh :r
Tack!

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

## #10 — BulletBoyCrime, 2003-04-15T17:38Z

Lite väl mycket kod nu så varning, men jag gjorde såhär:

```
RecSet.INSERT INTO players (name, password, title, perk, realname, phone, country, cash, health, curhealth, wepskill, expskill, protect, spyskill, ccskill, hokskill, driskill, druskill, lawskill, energymax, energycur, honor) VALUES ('" & Name & "', '" & Password & "', '" & Title & "', '" & Perk & "', '" & Realname & "', '" & Phone & "', '" & Country & "', '" & Cash & "', '" & Health & "', '" & Curhealth & "', '" & wski & "', '" & eski & "', '" & pski & "', '" & sski & "', '" & cski & "', '" & hski & "', '" & dski & "', '" & duski & "', '" & lski & "', '" & enmax & "', '" & encur & "', '" & honor & "') Connect.Execute
```

Får detta felmeddelande:

> Kompileringsfel i Microsoft VBScript error '800a0401' 
> 
> Slut på programsats förväntas. 
> 
> /crimea bay/registered.asp, line 145 
> 
> RecSet.INSERT INTO players (name, password, title, perk, realname, phone blablabla..................
> \-------------------^

Vad är fel?
Jag kan tänka mig att nåt är fel med Connect.Execute, men det är den variablen jag använder för att connecta till databasen.....eller hur ska jag göra?

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

## #11 — BulletBoyCrime, 2003-04-15T17:38Z

Jäklar......ursäkta för den långa koden..........

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

## #12 — @nders, 2003-04-15T17:52Z

Om du tittar i mitt förra inlägg så ser du hur du ska använda INSERT INTO, dvs ungefär så här:

```
strSQL = "INSERT INTO players (name, password, title, perk, realname, phone, country, " & _
" cash, health, curhealth, wepskill, expskill, protect, spyskill, ccskill, hokskill, driskill, " & _
" druskill, lawskill, energymax, energycur, honor) VALUES ('" & Name & "', '" & Password & "', " & _ 
"'" & Title & "', '" & Perk & "', '" & Realname & "', '" & Phone & "', '" & Country & "', '" & Cash & "', " & _
" '" & Health & "', '" & Curhealth & "', '" & wski & "', '" & eski & "', '" & pski & "', '" & sski & "', " & _
"'" & cski & "', '" & hski & "', '" & dski & "', '" & duski & "', '" & lski & "', '" & enmax & "', '" & encur & "', '" & honor & "') "
Connect.Execute (strSQL)
```

Dock finns vissa klurigheter (duh ;) ) med att lägga till data med SQL-frågor. Jag ser att du har lagt till apostrofer (') runt varje värde i SQL-frågan. Det är (antagligen) inte rätt. Det ser nämligen olika ut beroende på vad fälten i tabellen är för datatyp.

Om fältet i tabellen är av typen varchar / char, datetime eller någon texttyp skall du ha apostrofer runt värdet.
Om fältet i tabellen är av taltyp skall du inte ha apostrofer. 

För att exemplifiera:

```
strSQL = "INSERT INTO tabellen (talfält, textfält, datumfält) VALUES (3, 'Foo et bar', '2002-11-05')"
 ' eller, med asp-variabler
strSQL = "INSERT INTO tabellen (talfält, textfält, datumfält) VALUES (" & talvariabeln & ", '" & textvariabeln & "', '" & datumvariabeln & "')"
```

Ja, jag vet, det blir mycket strul, men det kommer man inte förbi.

Nästa steg är att se till att apostrofer går att ha i strängar att lägga in i tabellen, men också av säkerhetsskäl. Vi gör en liten funktion för detta.

```
Function SQLSafe(strText)
     SQLSafe = Replace (strText, "'", "''")
End function
```

Funktionen ersätter alltså en apostrof med två. Den ändrar dock inte värdet, utan säger bara till SQL-tolken att här kommer en apostrof som tillhör strängen, den skall inte tolkas som slut på inmatning. Funktionen använder du så här:

```
strSQL = "INSERT INTO tabellen (talfält, textfält, datumfält) VALUES (" & talvariabeln & ", '" & [b]SQLSafe(textvariabeln)[/b] & "', '" & datumvariabeln & "')"
```

Man bör, av säkerhetsskäl, gör apostrofersättningen på alla värden du inte själv har koll på, dvs allt som kommer från ett formulär eller liknande.

Det blev ett ganska långt inlägg, men jag hoppas jag gett dig något att tugga på i alla fall. :bire

**red:** Hmm, det blev lite bred och oöverskådligt, jag delar upp det på några rader i stället.

Mvh,

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

## #13 — BulletBoyCrime, 2003-04-15T19:41Z

Nåt att tugga på blev det iallafall.......ska testa ;) Tack! :birp

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

## #14 — BulletBoyCrime, 2003-04-16T15:48Z

Står samma felmeddelande x( grrrrrr..............
Jag använder EditPlus, där står alla rader kod i syntaxfärg. När jag lägger in den första apostrofen i INSERT INTO så blir färgen grön.
Färgen håller i sig, även Connect.Execute blir grön.
Kan detta ha något att göra med saken? :q
Tack! :bire

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

## #15 — solbulle, 2003-04-16T15:58Z

första apostrofen?

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

## #16 — BulletBoyCrime, 2003-04-16T16:00Z

Emmm, ja första värdet då.

```
VALUES ([u]'[/U]" & SQLSafeName
```

den understrukna alltså där, den apostrofen.

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

## #17 — Jesper T, 2003-04-16T16:13Z

testa att \[klammra\] ditt kolumnnamn som heter "name".
Bifoga hela sql-satsen som du kör med nu kanske.

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

## #18 — BulletBoyCrime, 2003-04-16T18:26Z

menar du i mySQL eller själva kodningen :q

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

## #19 — BulletBoyCrime, 2003-04-16T20:09Z

Nån som kan svaret på det? Jag kan inte vara inne så mycket på nätet mer, så jag blir otåligare än vad jag redan är :e
men det kan inte hjälpas, kan nån svara :q

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

## #20 — erka, 2003-04-16T20:10Z

i sql frågan

strSQL = "INSERT INTO players (\[name\],\[password\]

osv

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/74179-nu-funkar-det-men-nåt-annat-strular  
Nästa sida: https://www.webforum.nu/amne/asp/74179-nu-funkar-det-men-nåt-annat-strular/page2.md
