---
title: "MySQL - En djungel?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/151487-mysql-en-djungel/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "oskars"
published: "2006-09-19T15:06:19.000Z"
updated: "2006-10-18T16:45:37.000Z"
replies: 40
views: 1700
page: 2
pages: 3
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/151487-mysql-en-djungel"
---

# MySQL - En djungel?

_Sida 2 av 3._

## #21 — @nders, 2006-09-21T07:48Z

1) Skriv ut den färdiga SQL-frågan, vi vet inte vad dina variabler innehåller.
2) Formatera den färdiga SQL-frågan så den går att läsa i inlägget.
3) Måste tydligen postas igen: <http://www.webforum.nu/showthread.php?t=142490>

mvh

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

## #22 — oskars, 2006-09-21T07:52Z

1) Hur skriver jag ut den färdiga SQL-frågan?
2) Okej, jag testar igen... Redigerade mitt ovanstående inlägg...
3) =/

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

## #23 — @nders, 2006-09-21T07:56Z

1) Response.write SQL

Om man inte läser SQL-frågan såsom databasmotorn tolkar den är betydligt svårare (ibland omöjligt) att veta vad som är fel, eftersom man inte känner till innehållet i alla variabler. Jag gissar på att en eller flera variabler som används som tal i SQL-frågan (dvs utan apostrofer) saknar värde.

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

## #24 — oskars, 2006-09-21T07:58Z

Exakt! Den klagar sådär nrä jag inte fyller i ALLA fälten... fattar inte varför den måste ha ett värde när jag inet angett "Not Null" i databasen..

Response.write SQL funkar ju inte... eftersom jag får felmeddelandet så ser jag ju inte frågan...   :r

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

## #25 — @nders, 2006-09-21T08:00Z

Du ska ju skriva ut SQL-frågan istället för att exekvera den.

\- - - - 

Det spelar ingen roll att du tillåter NULL, SQL-frågan måste ändå vara syntaxmässigt korrekt. Skall du ha med ett fält i din UPDATE, får du inte utelämna värde helt och hållet. Skall du ha null, då får du ange NULL i din SQL-fråga.

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

## #26 — oskars, 2006-09-21T08:07Z

Underbart!

```
UPDATE Adresser2006 SET 

GS = 0, 

KOrder = 1, 
Orderdatum = '2006-09-21 10:04:59', 
Ordernotering = 'Hej!' 
Avbetalning = '300', 
Losen = 'Fritt', 
Betvillkor = '300', 
Frakt = '127', 
Levtid = '1-2veckor', 
Produkt1 = 'Produkt1', 
Antal1 = D46, 
Storlek1 = '1',
Pris1 = 3250, 
Produkt2 = 'Produkt2', 
Antal2 = D14, 
Storlek2 = '1', 
Pris2 = 3250, 
Produkt3 = 'Produkt3', 
Antal3 = 50, 
Storlek3 = '1', 
Pris3 = 3250, 
Produkt4 = 'Produkt4', 
Antal4 = 66, 
Storlek4 = '1', 
Pris4 = 3250, 
Produkt5 = 'Produkt5', 
Antal5 = 52, 
Storlek5 = '2', 
Pris5 = 1247, 
Produkt6 = 'Produkt6', 
Antal6 = 46, 
Storlek6 = '5', 
Pris6 = 2200, 
Foretag = 'Företag' 
WHERE ID = 10
```

Så där ser det ut när jag försöker skicka...

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

## #27 — @nders, 2006-09-21T08:09Z

Du saknar apostrofer runt dina antalsvärden, som innehåller typ *D46*. Vad gör D:na där?

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

## #28 — oskars, 2006-09-21T08:11Z

Damstorlek... alltså D46.. :) whooops.. blir hopplös nästan.. frågorna blir så långa att det lääätt blir fel.. ska söka igenom det där! Där lärde jag mig en bra grej, det där med att skriva ut frågan! TACK! :)   :D

\- - - - -

Ska jag ta bort &" från alla Request.Form?

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

## #29 — @nders, 2006-09-21T08:12Z

Men.

Du har ju stoppat värdena i antalsfälten. Då ska de väl inte vara där, utan hör mer hemma i storleksfälten? Det är antal1 och antal2 som innehåller dessa "felaktiga" värden.

I övrigt känns det som att datamodellen är rätt obra, men det kan vi ta en annan gång. :)

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

## #30 — oskars, 2006-09-21T08:15Z

:r  Du menar att det är många fält?  tänkte nog att den frågan skulle komma.. men jag tror väl att jag behöver så många fält för det...va vet jag. :OO  Försöker iaf!   :l

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

## #31 — @nders, 2006-09-21T08:18Z

Jag menar att de fälten inte riktigt hör hemma där. Vad händer om man vill beställa fler än fem produkter?

Produkterna i beställningen bör lagras i en egen tabell med en relation till själva huvudtabellen. 

> Försöker iaf!

Det är väl bra! :)
Utan att försöka lär man sig inget, och utan att göra fel lär man sig inget. Alla är nybörjare någon gång. :)

mvh

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

## #32 — oskars, 2006-09-21T08:21Z

Fast grejen är att kunden inte kommer köpa fler än 5st beställningar ! Det är det fina :D

\- - - - - \<- har lärt mig dina avskiljarstreck nu, hehe

Men sjuttsingen! När man Inte fyller i alla produktrader och skickar några tomma så får jag samma felmeddelande... 
den försöker med: Storlek2 = '', Pris2 = , Produkt3 = '', Antal3 = , Storlek3 = '',
varför får jag itne skicka dessa tomma? Har detta med tomsträngkonkatering att göra?

(fan va du är grym som orkar svara asså)

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

## #33 — @nders, 2006-09-21T08:29Z

> varför får jag itne skicka dessa tomma?

Det beror på att enligt SQL-syntax måste du skriva **fältnamn = värde**. Skall du använda NULL, då måste du skicka NULL i SQL-frågan.

Ex:

```
UPDATE tabell SET fält1 = 1, fält2 = NULL WHERE id = 4711
```

Exempel på hur du kan bygga upp det i ASP-koden:

```
If request.form("antal1") = "" then
     sAntal1 = "NULL"
else
     sAntal1 = request.form("antal1")
end if
```

Använd sedan variabeln istället för *request.form("antal1")* när du bygger upp SQL-frågan.

\- - - - - 

Tomsträngskonkatenering har endast att göra med onödigheten att lägga till ingenting på slutet av saker och ting med **&""**.

mvh

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

## #34 — oskars, 2006-09-21T08:31Z

Ojdå, så jag måste skapa en massa If-satser då också? :) Ser inte logiken i det.. Har ju ett annat formulär där jag kan skicka tomma fält :(

EDIT: Fast just det.. jag skickar ju inte tomma fält tror jag inte.. utan i dom fälten som är "Tomma" där... är egentligen value="\<%=RecSet("Namn")%\> t.ex..från databasen.. coh då är dmo ju egentligen inte tomma.. medans det hrä orderformuläret inte innehåller någotn data från databasen innan... fattar du?

Detta borde väl lösas med att sätta value

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

## #35 — @nders, 2006-09-21T08:32Z

Du kan skicka tomma värden i SQL-frågor, om det är värden som omsluts av apostrofer, dvs text / varchar, strängvärden. I ditt andra formulär kan du *inte* skicka tomma fält om det är fält av taltyp.

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

## #36 — oskars, 2006-09-21T08:40Z

Nu löste jag problemet genom att ange value="0" på alla textfälten som bara ska innehålla tal så att dom står som 0 som standard... Det blev enklare än att ha massa If-satser! Så nu verkar det fungera perfekt!

Hur känner du egentligen? Sitter du vid datorn, röd i ansiktet och frustrerad, och spottar på mig? :D

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

## #37 — @nders, 2006-09-21T08:41Z

> **oskars skrev:**
>
> Hur känner du egentligen? Sitter du vid datorn, röd i ansiktet och frustrerad, och spottar på mig? :D

Hehe!

Nej, jag sitter och är glad och nöjd eftersom du både lär dig saker, och uppskattar hjälpen. Det är så mycket roligare att hjälpa till när det uppskattas. :)

mvh

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

## #38 — oskars, 2006-09-21T08:46Z

Kul! :) Ja du anar inte hur glad jag är att jag får sån hjälp asså.

Jag är ny vid MySQL som sagt, det här systemet som jag håller på med nu, som jag haft problem med, det fungerade tidigare perfekt med Access... men nu ska det bli till MySQL! Revolution!

:)

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

## #39 — oskars, 2006-09-26T14:36Z

Hej!

Hur gör man egentligen en korrekt RecordCount med MySQL? Det jag använde förut (RecSet.RecordCount) fungerar inte längre för mig... jag har sökt på google och har fått fram olika förslag på funktioner, men jag har inte fått något att fungera.

Hoppas att kanske någon av er har ett konkret kodförslag!

Mvh
Oskar

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

## #40 — Troxy, 2006-09-27T07:54Z

Anledningen till att du inte kan använda RecordCount är att du säkert använder adUseServer som CursorLocation för din databaskoppling, och då fungerar inte den egenskapen. Du måste använda adUseClient istället.
Testa att sätta CursorLocation=3 på ditt databasobjekt innan du öppnar det.

Detta låter säkert onödigt rörigt. Det finns en bra sida hos MySQL som förklarar det ganska bra:
<http://dev.mysql.com/tech-resources/articles/vb-cursors-and-locks.html>

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/151487-mysql-en-djungel/page2  
Föregående sida: https://www.webforum.nu/amne/asp/151487-mysql-en-djungel.md  
Nästa sida: https://www.webforum.nu/amne/asp/151487-mysql-en-djungel/page3.md
