A aleborg Medlem sedan jan. 2001 3 341 inlägg Frågan 29 jan. 2001 22:29 #1 jag är nybörjare på asp :)
Vad är felet?
<%
dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../data/news.mdb")
set rs = conn.Execute("SELECT * FROM Produkter WHERE 1=2")
rs.Open,Conn,1,2
rs AddNew
rs("Produktnamn")= Request.Form("rubr")
rs("Datum")= Request.Form("date")
rs("Produkt")= Request.Form("beskr")
rs("Fotografi")= Request.Form("pic")
rs.Update
rs.Close
conn.close
%>
Tacksam för hjälp!
E emission Medlem sedan dec. 1999 6 721 inlägg Svårt att säga om du inte visar felmeddelandet.
rs("Datum")= CDate(Request.Form("date"))
känns troligt.
Ett tips är att du redan nu lär dig att använda SQL (med INSERT,UPDATE etc.) i stället för AddNew etc. Det är en dålig teknik som IDGs webstudio tyvärr prånglat på många.
Välkommen hit, förresten!! :)
A aleborg Medlem sedan jan. 2001 3 341 inlägg Tack!
ADODB.Recordset fel '800a0e79'
Åtgärden är inte tillåten när objektet är öppet.
/mor/newssucc.asp, line 77
står det!
A aleborg Medlem sedan jan. 2001 3 341 inlägg Sitter med boken ASP av Erik Ronne
Tyvärr så är allting uppbyggt på dsn
uppkoppling till db:n, en rad om
dsn lös koppling!
Kan man använda sql koder ändå?
E emission Medlem sedan dec. 1999 6 721 inlägg ...och på rad 77 står?
Kan man använda sql koder ändå?
Javisst. Huruvida man kopplar upp med DSN eller inte spelar ingen roll. Skillnaden är mellan ADO-varianten
set rs=server.createobject("ADODB.Recordset")
rs.open "tabell",conn,1,3
rs.Addnew
rs("kolumn")=värde
och med SQL
conn.execute "INSERT INTO tabell (kolumn) VALUES(" & värde & ")"
Det senare är helt klart att föredra.
[Redigerat av emission den 29 jan 2001]
A aleborg Medlem sedan jan. 2001 3 341 inlägg rs.Open,Conn,1,2
hur skulle då min kod se ut?
[Redigerat av aleborg den 29 jan 2001]
E emission Medlem sedan dec. 1999 6 721 inlägg Nu ser jag ju....
Du öppnar recordsetet två gpnger. En gång med execute och en gång med open.
Fimpa execute-raden och ändra open.raden till
rs.Open "SELECT * FROM Produkter WHERE 1=2",Conn,1,2
A aleborg Medlem sedan jan. 2001 3 341 inlägg Körningsfel i Microsoft VBScript fel '800a01a8'
Objekt krävs.: ''
/mor/newssucc.asp, line 76
rad 76:
rs.Open "SELECT * FROM Produkter WHERE 1=2",Conn,1,2
E emission Medlem sedan dec. 1999 6 721 inlägg Aargh...nu borde jag visst gå och lägga mig.
Du måste ju skapa recordsetet först
set rs=server.createobject("ADODB.Recordset")