---
title: "Vill inte räkna"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8815-vill-inte-räkna"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Inferis"
published: "2001-04-02T16:54:00.000Z"
updated: "2001-04-02T22:04:00.000Z"
replies: 17
views: 288
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/8815-vill-inte-räkna"
---

# Vill inte räkna

## #1 — Inferis, 2001-04-02T16:54Z

Vad är det som är fel på denna koden?

SQL = "UPDATE smclads SET visad_ggr=visad_ggr+1 WHERE id=" & smclrs("id")
smclrs.Execute(SQL)

Jag har provat att ha kolumnen "visad_ggr" som int, nchar och numeric.
Är det koden som är fel (Står rätt med response.write SQL) eller är det fel på tabellen i ms-sql?

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

## #2 — LarsG, 2001-04-02T17:03Z

SQL-syntaxen är korrekt och kolumnen borde vara integer(i alla fall numerisk), men det jag sitter och undrar på är att du använder smclrs när du gör execute. När du bygger din SQL så använder du ju den som om den vore ett recordset.

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

## #3 — Inferis, 2001-04-02T17:08Z

Hur skulle du skriva?

Jag har bara kopierat annan text från scriptet.

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

## #4 — LarsG, 2001-04-02T17:13Z

När man gör en execute så behöver man ett connectionobject (eller commandobject går också bra)

```
  set connection = server.createobject("adodb.connection")

  connection.open "dsn=..."
  set smclrs = ...

  sqlStr = SQL = "UPDATE smclads SET visad_ggr=visad_ggr+1 WHERE id=" & smclrs("id")
  connection.execute sqlStr
```

ungefär så

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

## #5 — Inferis, 2001-04-02T17:32Z

Jag har skrivit det innan, men ville posta för mycket här bara... :-)

Men den plussar ändå inte?

Nu är kolumnen int, men det händer ändå inget.

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

## #6 — LarsG, 2001-04-02T17:47Z

Ok, först kan du lägga in en koll på att någon post verkligen uppdateras

```

connection.execute sqlStr,rows,128
if  rows = 0 then
    response.write "Inga rader uppdaterades" & <br>
end if
```

Ett annat problem kan vara att det ligger null och inte 0 i kolumnen visad_ggr och i så fall så kommer det att förbli null då null + 1 blir null.

Man kan kontrollera om ett fält är null i SQL med villkoret

```
columnName is null
```

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

## #7 — Inferis, 2001-04-02T17:49Z

jag använder Enterprise Manager för att kolla på databasen. De gamla annonserna har ju fått värdet null, men den nya som jag gjort, och bara kollar har värdet 0. (Alla nya som sätts in får det)

Jag har även lagt in samma script på om man svarar på annonsen. Det funkar perfekt. Den visar hur många som svarat på annonsen.

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

## #8 — LarsG, 2001-04-02T18:35Z

Hur är det nu? Uppdateras det någon rad? Om inte så kanske du kan lägga upp lite mer kod så ...

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

## #9 — Inferis, 2001-04-02T18:39Z

Jag använder precis samma kod på båda scripten, på det ena stället så funkar det. 

Kan det ha nånting att göra med att jag lägger koden i ett case? I det fall det inte fungerar alltså.

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

## #10 — LarsG, 2001-04-02T18:48Z

Tja, då låter det ju mer som om man aldrig utför den kod där man gör update. Dvs att det är någon glitch i logiken i din case.

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

## #11 — Inferis, 2001-04-02T19:01Z

Hur ska man bära sig åt då? 

Kan man inte ha 
\<%
kod
%\>

var man än vill ha den?

Typ t.om i en tabell? Nu har jag ju inte det, men som exempel...

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

## #12 — LarsG, 2001-04-02T19:21Z

Jo, det går ju bra att stoppa in kod inline så där. Det man bör tänka på är att VB är känsligt för radbrytningar, dvs man kan inte dela upp statement på flera rader utan att ha fortsättningstecken och inte heller kan man ha flera statements på samma rad utan att ha ett : emellan.

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

## #13 — Inferis, 2001-04-02T19:26Z

Men vad är det som inte funkar då?

lite tradigt när det inte går som man vill! :-/

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

## #14 — LarsG, 2001-04-02T19:32Z

Du verkar vara ovilliig att visa någon kod ;) . Har lite svårt att något vettigt annars.

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

## #15 — Inferis, 2001-04-02T19:33Z

Det är bara det att det är fetmycket kod! Det är ett köpt script som jag blivit ombedd att lägga till lite nya funktioner i.

ska jag maila dig det istället? Det är för mycket att visa här.

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

## #16 — LarsG, 2001-04-02T19:39Z

Ok, men jag hinner nog inte titta så mycket i kväll. Måste ju jobba lite också. 
Min mailadress finns i min profil, 
klicka på ikonen med ansiktet och frågetecknet.

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

## #17 — LarsG, 2001-04-02T22:00Z

Okej, jag fick ditt mail. Efter det så har jag inte lyckats starta min mailklient (jag hann dock ta ut en papperskopia) så jag får lägga ett svar här.

Det som jag kan säga är ju att i början på din sub så har du satt upp 
on error resume next
men du har ju ingen egen felhantering vid dina anrop där du gör din update. Det kan ju gå fel där så du kan ju lägga in en on error goto 0 innan.

Sen så undrar jag varför du öppnar en ny connection, du har ju redan en (smcldataconn). 

Annars så får du väl försöka lägga in lite traceutskrifter på lämpliga ställen. 

Samamnfattningsvis, så har jag inte sett något definitivt fel.

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

## #18 — Inferis, 2001-04-02T22:04Z

Hmmm. Skickades mailet som HTML? Sorry! Tänkte inte på det!!

Öppnade en ny connection senare för att prova. Som jag sa.

Kan du rekommendera hur man ska skriva för att det ska bli rätt? Kan man lägga det innan in error resume next?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/8815-vill-inte-räkna
