T timedia Medlem sedan maj 2001 420 inlägg Frågan 16 maj 2002 09:34 #1 Ska lägga in en ny artikel via formulär. Självklart krånglar det :(
Den skapar bara en ny tom post.! Varför??
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindb.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM Nyheter WHERE 1=2"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("Rubrik") = Request.Form("rubrik")
RecSet("Brodtext") = Request.Form("brodtext")
RecSet("Datum") = Request.Form("datum")
RecSet("Lasmer") = Request.Form("lasmer")
RecSet.Update
RecSet.Close
Connect.Close %>
S skyman Medlem sedan juli 2001 2 450 inlägg vad är detta? :q
SELECT * FROM Nyheter WHERE 1=2
den lär ju inte finnas...
T timedia Medlem sedan maj 2001 420 inlägg För att öppna rätt tabell?
...gör man inte så?
R roady Medlem sedan jan. 2002 473 inlägg nä.... rätta mig om jag har fel men är inte
addera = "SELECT * FROM nyheter;"
S skyman Medlem sedan juli 2001 2 450 inlägg Jo men vad betyder WHERE 1=2, det kommer ju aldrig finnas.
toha Medlem sedan dec. 1999 707 inlägg Ja, ett alldeles utmärkt sätt att öppna ett tomt recordset med de fält som tabellen har. Dvs ett "RecordsetFactory". Det är detsamma som:
SELECT TOP 0 * FROM Nyheter
@nders Medlem sedan juni 2000 32 967 inlägg Det spelar ingen roll.
Ska man använda ett recordset för att lägga in data går det alldeles utmärkt med ett tomt recordset, så det är rätt sätt.
timedia: har du angett method="post" i <form>-taggen?
toha Medlem sedan dec. 1999 707 inlägg Vet dessvärre inte varför det blir tomma poster. :o
R roady Medlem sedan jan. 2002 473 inlägg Varför inte bara göra det med en SQL-sats?
Något sådant här, tror det skall funka på något sätt!
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindb.mdb")
addera = "INSERT INTO nyheter (rubrik, brodtext, datum, lasmer) VALUES ('"& Request.Form("rubrik") &"', '"& Request.Form("brodtext") &"', '"& Request.Form("datum") &"', '"& Request.Form("lasmer") &"');"
Connect.Execute addera
%>
T timedia Medlem sedan maj 2001 420 inlägg Ja Anders!
<form method="POST" action="redffst2.asp" ENCTYPE="multipart/form-data" >
toha Medlem sedan dec. 1999 707 inlägg Varför använder du ENCTYPE-attributet? Ska du posta upp en fil med värdena så är det ju iofs rätt men då tror jag inte man kan använda sig av Request.Form(). Rätta mig om jag har fel.
R roady Medlem sedan jan. 2002 473 inlägg Varför ENCTYPE="multipart/form-data" ???
ta bort den!!
S skyman Medlem sedan juli 2001 2 450 inlägg Då lärde jag mig något idag också :)
toha Medlem sedan dec. 1999 707 inlägg Roady skrev:
Varför inte bara göra det med en SQL-sats?
Det är ju förstås snabbare men är lite krångligare eftersom man måste parse:a strängarna så de inte innehåller nån sql-kod.
T timedia Medlem sedan maj 2001 420 inlägg funkade självklart utan enctype :)
(rester från aspupload)