---
title: "Fel igen!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/53163-fel-igen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Firegamez.com"
published: "2002-09-13T19:05:08.000Z"
updated: "2002-09-15T14:24:43.000Z"
replies: 15
views: 351
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/53163-fel-igen"
---

# Fel igen!

## #1 — Firegamez.com, 2002-09-13T19:05Z

Tack så mycket för all hjälp! Själv är jag rätt ny i asp! (Som ni kanske märker), men jag behöver hjälp igen! Det handlar fortfarande om gästboken, men denna gång e det när man ska skriva! Detta felmeddelande får jag:

```
Microsoft JET Database Engine error '80004005' 

Field 'gb.fran' cannot be a zero-length string. 

/community/gbskriv.asp, line 33
```

Hela koden:

```
<%
Option Explicit
Dim sql, username, se, Rs, password, gbmessage, timme, minut, d, no, fran

username = Request.Cookies("username")

if username = "" then
  Response.Redirect("nologin.asp?page=gb.asp")
end if

%>
<!--#include file="conn.asp"-->
<%username=session("username")
password=session("password")

se=request("se")
gbmessage=request("gbmessage")

gbmessage = Replace(Trim(gbmessage), "'", "''")
gbmessage = Replace(gbmessage, "|", "")

'************ tiden *****************
timme=datepart("h", time) + 1
minut=datepart("n", time)
d=date & " " & timme & ":" & minut
'************************************

no="no"

SQL="INSERT INTO gb (till, message, skickat, fran, las)"
SQL = SQL & "VALUES('" & se & "','" & gbmessage & "','" & d & "','" & username & "','" & no & "');"
Conn.Execute(SQL)

response.redirect("gb.asp?se=" & se)
%>
```

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

## #2 — Pellefant, 2002-09-13T19:15Z

Heter fältet i databasen "'gb.fran " ? och inte "fran", är det möjligt att du har både och, så att gb.fran inte får ngt värde, och fältet är inställt på att det måste få ett värde?

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

## #3 — Ekström, 2002-09-13T19:17Z

Det betyder precis som det står.

Field 'gb.fran' cannot be a zero-length string. 

DVS

Fältet gb.fran får inte vara en nollängds-sträng :)

Variabeln username är alltså tom.

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

## #4 — Pellefant, 2002-09-13T19:22Z

Aha, så username behövs inte fyllas i i gästboken. I så fall, gå in i designläget i Access för detta fältet och ändra till 

obligatoriskt:nej
tillåt nollängd: ja

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

## #5 — Firegamez.com, 2002-09-13T19:26Z

Men man måste se vem som har skickat in inlägget på communiyt!

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

## #6 — Ekström, 2002-09-13T19:29Z

Detta är bara för att testa:

Ändra:

```
Conn.Execute(SQL)
```

till:

```
'Conn.Execute(SQL)
Response.Write SQL
```

Du behöver inte ha något semikolon (;) i slutet av SQL-satsen.

Berätta sedan gärna vad som skrivs ut på sidan.

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

## #7 — Firegamez.com, 2002-09-13T19:43Z

Man kom bara tillbaka till gb:n utan att något hände! Det var allt!

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

## #8 — Ekström, 2002-09-13T19:45Z

Oops, sätt en enkelfnutt före response.redirect("gb.asp?se=" & se) också.

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

## #9 — Firegamez.com, 2002-09-14T14:37Z

det blev så här! :

```
INSERT INTO gb (till, message, skickat, fran, las)VALUES('KeNNy','Tja!','2002-09-14 17:38','','no');
```

Inge mer!

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

## #10 — @nders, 2002-09-14T14:58Z

Dåså. Du försöker sätta in en tom sträng i fältet fran, vilket tabelldefinitionen i access inte tillåter. Ändra i designläget i Access, eller se till att alltid sätta in ett värde.

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

## #11 — Firegamez.com, 2002-09-14T19:27Z

Men kan man inte skriva så här?

```
SQL="INSERT INTO gb (till, message, skickat, fran, las)"
SQL = SQL & "VALUES('" & se & "','" & gbmessage & "','" & d & "','" & username & "','" & no & "','" & fran & "');"
Conn.Execute(SQL)
```

Men hur hämtar man ut namnet???? Från den som skickar????

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

## #12 — Ekström, 2002-09-14T22:30Z

Jag skulle spara en session som innehåller den inloggades id på din sida. Sen hämtar du ut namnet typ såhär:

SELECT userName FROM members WHERE id = "& Session("uid")

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

## #13 — solbulle, 2002-09-14T22:35Z

Det ser ut som om du först försöker kolla i en cookie om username finns, sen kollar du i en session...

OT: Är det bra att lägga in datumet på det sätt som du gör? Är det inte bättre att lägga in ett "riktigt" datumformat?

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

## #14 — Ekström, 2002-09-14T22:45Z

> **solbulle skrev:**
>
> OT: Är det bra att lägga in datumet på det sätt som du gör? Är det inte bättre att lägga in ett "riktigt" datumformat?

Spelar väl egentligen ingen roll. Bara han får ut det han vill ha. Jag brukar alltid spara now() och sedan plocka ut det jag vill ha från det.

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

## #15 — @nders, 2002-09-15T06:53Z

> **Firegamez.com skrev:**
>
> Men kan man inte skriva så här?
>
>
> ```
> SQL="INSERT INTO gb (till, message, skickat, fran, las)"
> SQL = SQL & "VALUES('" & se & "','" & gbmessage & "','" & d & "','" & username & "','" & no & "','" & fran & "');"
> Conn.Execute(SQL)
> ```

Nej. Du har specificerat fem fält, men du ger sex värden. Det kommer inte att fungera, och det ska inte fungera.

Men hur hämtar man ut namnet???? Från den som skickar???? 
Det beror ju på hur du lagrar namnet på den som skickar...

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

## #16 — Firegamez.com, 2002-09-15T14:24Z

det fungerar nu! Jag tog bort session username och de! Då fungerade det! tack för hjälpen :D :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/53163-fel-igen
