Hur ser den kod ut som sköter om att lägga in data?
------------------
essentitia preter non sans multiplicandum
10 svar · 282 visningar · startad av klementin
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
-----------------------
Hur ser den kod ut som sköter om att lägga in data?
------------------
essentitia preter non sans multiplicandum
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
-----------------------
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
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
-----------------------
hur ser formuläret ut? du har inte metoden get på ditt formulär?
------------------
mördar-anders, det är jag.
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
-----------------------
Ingen som vet...?
------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
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.
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
-----------------------