webForumDet fria alternativet

Vill inte ta alla tecken

ASP

10 svar · 282 visningar · startad av klementin

Medlem sedan aug. 2001117 inlägg
Frågan#1

Halloj!
Vet inte om jag postar denna fråga i rätt del av forumet men jag provar...

Jag har en vanlig textarea där jag matar in text (duh). Denna text hamnar sedan i en Access databas kolumn som är satt som PM. Problemet är nu att texten jag skriver in innehåller typ 5000 tecken men den postar bara 1340 tecken till databasen?! Hoppas ni förstår vad jag menar.

Tacksam för svar :-)

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------

Medlem sedan dec. 200012 464 inlägg
#2

Hur ser den kod ut som sköter om att lägga in data?

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001117 inlägg
#3

Den ser ut så här:

<%
DBPath = Server.MapPath("\index\ptop\index1\secured\mdb\personalhandbok.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath & ";"

Punkt = Request.Form("Punkt")
Titel = Request.Form("Titel")
Contents1 = Request.Form("Contents1")

On Error Resume Next

SQL = "INSERT INTO personalhandbok "
SQL = SQL & "(Punkt, Titel, Contents1)"
SQL = SQL & "VALUES('" & Punkt & "', '" & Titel & "', '" & Contents1 & "')"

Conn.Execute(SQL)

Conn.Close
Set Conn = nothing
Response.Redirect("./func.administrator.personalhandbok.asp")
%>

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------

Medlem sedan dec. 200012 464 inlägg
#4

Om du tar bort

on error resume next så får du säkert (kanske!) något fel som vi (jag) är intresserade av.

Generellt sett så bör man alltid lägga in

Punkt = replace(Request.Form("Punkt"),"'","''")
Titel = replace(Request.Form("Titel"),"'","''")
Contents1 = replace(Request.Form("Contents1"),"'","''")

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001117 inlägg
#5

Jag tog bort On Error Resume Next men det blev samma sak igen, så sen provade jag att sätta in dom därna kod raderna du skrev oxå, men det blev samma fel.

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------

Medlem sedan juni 200032 967 inlägg
#6

hur ser formuläret ut? du har inte metoden get på ditt formulär?

------------------
mördar-anders, det är jag.

Medlem sedan dec. 200012 464 inlägg
#7

Han använder ju request.form !?

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001117 inlägg
#8

Jo det har jag, men om jag kör med Post så gnäller på detta:

Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'ID ='.

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------

Medlem sedan aug. 2001117 inlägg
#9

Ingen som vet...?

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------

Medlem sedan juni 200032 967 inlägg
#10

posta:

* hela formuläret, samt:
* hela den del av mottagarsidan som har något att göra med sql-satsen och de värden som ska in i databasen.

ett tips är att alltid skriva ut sin sql-sats med response.write innan execute, då man lättare ser vad det trasiga i en trasig sql-sats beror på.

mvh,

------------------
mördar-anders, det är jag.

Medlem sedan aug. 2001117 inlägg
#11

F'låt alla! Det är jag som kodar som ett pucko. Det skulle vara Method=Post så klart och då krävs det ju Request.Form (eller är jag ute och cyklar igen?). Hur som helst så funkar det nu. Tack ialla fall :-)

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------

312 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
177 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)