Hej, jag är ingen höjdare på add.new funktionen, men borde du inte ha en rad som ser ut :
RecSet2.Update
mvh Jörgen :)
------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.
10 svar · 192 visningar · startad av Qimen
Hej
När man ska registrera sig på min sida och information ska läggas till i databsen så blir det fel. Felet blir när jag först lägger till info i tabbell 1 (det funkar) men sedan när jag ska lägga till info i tabbell 2 funkar det inte.
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";pwd=08070"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Jag har min db koppling och sedan när jag ska lägga till använder jag recset.
Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("epost") = session("2email")
RecSet("username") = session("2username")
RecSet("losen") = session("2pw1")
gb = "Select * From gb"
RecSet2.Open gb, Connect, adOpenStatic, adLockOptimistic
RecSet2.AddNew
RecSet("tillID") = session("23username")
RecSet("namn") = session("23username")
RecSet("datum") = Date
RecSet("text") = session("23text")
RecSet.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Vad är fel? Överst på sidan har jag spartat sessions:
Session("2username")= Request.Form("username")
Session("2pw1")= Request.Form("pw1")
Session("2email")= Request.Form("email")
Session("23text")= Request.Form("23text")
Session("23username")= Request.Form("username")
Här är nog en del fel så...
------------------
... *hick*
[Redigerat av Qimen den 05 jan 2002]
Hej, jag är ingen höjdare på add.new funktionen, men borde du inte ha en rad som ser ut :
RecSet2.Update
mvh Jörgen :)
------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.
Jo jag har provat med och utan den. Har provat jätte många olika sätt.
------------------
... *hick*
Denna då:
Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("epost") = session("2email")
RecSet("username") = session("2username")
RecSet("losen") = session("2pw1")
RecSet.Update
gb = "Select * From gb"
RecSet2.Open gb, Connect, adOpenStatic, adLockOptimistic
RecSet2.AddNew
RecSet("tillID") = session("23username")
RecSet("namn") = session("23username")
RecSet("datum") = Date
RecSet("text") = session("23text")
RecSet2.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
För övrigt vill jag påpeka att SQL-frågor i form av INSERT är mycket optimalare.
mvh Jörgen :)
------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.
Jag är öppen för förslag på detta. Det jag vet inte hur jag ska göra då, för längre upp på sidan har jah funktioner som kollar att lösenord är ifyllda och att användarnamnet inte är upptaget. =)
------------------
... *hick*
Nu kan får jag felmeddelande om att den kan inte hittar registernyckeln rad 81:
RecSet("tillID") = session("23username")
Konstigt överst på sidan har jag
Session("23username")= Request.Form("username")
och på föregående sida finns fältet username.
------------------
... *hick*
Om detta är till nånn nytta så kan jag lägga upp hela dokumentet.
<!-- #include file="secure/adovbs.inc" -->
<%
Session("2username")= Request.Form("username")
Session("2pw1")= Request.Form("pw1")
Session("2email")= Request.Form("email")
Session("2avtal")= Request.Form("avtal")
Session("23namn")= Request.Form("23namn")
Session("23text")= Request.Form("23text")
Session("23username")= Request.Form("username")
Session("24username")= Request.Form("username")
%>
<%
If Request.Form("pw1") <> Request.Form("pw2") Then
Session("meddelande") = "Båda lösenorden måste vara samma!! Försök igen."
Response.Redirect "3518789102.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";pwd=000"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Addera = "Select username From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
If RecSet("username") = Request.Form("username") Then
Session("meddelande") = "Det användarnamnet var redan taget! Försök med något annat"
RecSet.Close
Response.Redirect "3518789102.asp"
End If
RecSet.MoveNext
Loop
RecSet.Close
%>
<%
Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("fnamn") = session("1fnamn")
RecSet("enamn") = session("1enamn")
RecSet("epost") = session("2email")
RecSet("username") = session("2username")
RecSet("losen") = session("2pw1")
RecSet("stad") = session("1stad")
RecSet("bor") = session("1bori")
RecSet("kon") = session("1kon")
RecSet("alder") = session("1alder")
RecSet("hemsida") = session("1hemsida")
RecSet("citat") = session("1om")
RecSet("datum") = Date
RecSet("status") = "offline"
gb = "Select * From gb"
RecSet2.Open gb, Connect, adOpenStatic, adLockOptimistic
RecSet2.AddNew
RecSet("tillID") = session("23username")
RecSet("namn") = session("24username")
RecSet("datum") = Date
RecSet("text") = session("23text")
RecSet2.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Session("meddelande") = "Du har nu blivit inlagd i registret! Testa att logga in."
Response.Redirect "3518789103.asp"
%>
Jag vet att det inte är bra att använda sessions men eftersom det bara är en registrering så.
------------------
... *hick*
DauaN sa att man kunde använda:
strSQL = "INSERT INTO gb(tillID, namn, datum, text) VALUES('"& session("23username") &"', '"& session("23username") &"', '&Date&', '"& session("23text") &"')"
Connect.Execute(strSQL)
Men den vill inte funka. Den övre delen funkar utmärkt den är den sista delen som inte funkar. Om jag kör med detta så får jag felmesss om att programsats väntas.
Igen som vet felet?
------------------
... *hick*
Hej, eftersom du använder access så är där vissa missar:
strSQL = "INSERT INTO gb(tillID, namn, [datum], [text]) VALUES('"& session("23username") &"', '"& session("23username") &"', #"& Date &"#, '"& session("23text") &"')"
Connect.Execute strSQL,,128
fungerar inte den, så använd denna och berätta vad den skriver ut:
strSQL = "INSERT INTO gb(tillID, namn, [datum], [text]) VALUES('"& session("23username") &"', '"& session("23username") &"', #"& Date &"#, '"& session("23text") &"')"
response.write strSQL
'Connect.Execute strSQL,,128
mvh Jörgen :)
------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.
Humm På denna första koden får jag felmess och på den andra får jag inget men där läggs heller inte till något.
Jag vet inte om det är den bästa lösningen men hur kan man annars göra så att det första inlägget i ens gästbok blir ett förbestämt från Admin?
------------------
... *hick*
[Redigerat av Qimen den 05 jan 2002]
Hej, på den andra ska där inte läggas in något. Vad får du för felmess på den första (exakt meddelande) samt vad skriver den andra koden ut?
mvh Jörgen :)
------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.