16. februar 2002 - 21:53
Der er
36 kommentarer og 3 løsninger
HJÆLP! :o(
Hvad er der galt her? Nu har jeg snart stirret mig blind: <form method="POST" action="default2.asp"> <table border="0" cellpadding="6" cellspacing="0" width="100%" class="tekst11" bgcolor="#EEEEEE"> <tr> <td colspan="2"> <span class="overskrift17">Indtast debatemne</span> </td> </tr> <tr> <td>Forfatter:</td> <td><input type="text" name="nick" style="background-color: #ffff99;" size="35" id="input"></td> </tr> <tr> <td>Emne:</td> <td><input type="text" name="emne" style="background-color: #ffff99;" size="35" id="input"></td> </tr> <tr> <td valign="top">Kommentar:</td> <td><textarea rows="15" name="kommentar" style="background-color: #ffff99;" cols="51" id="input"></textarea></td> </tr> <tr> <td></td> <td><input type="submit" value="Send debatemne" name="send_debatemne" id="input"> <input type="reset" value="Nulstil" name="nulstil" id="input"></td> <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath "/fpdb/include.mdb") Conn.open dbConn strSQL = "Insert into debat (" strSQL = strSQL & "nick, " strSQL = strSQL & "emne, " strSQL = strSQL & "kommentar, " RS.Close Set RS = nothing Conn.Close Set Conn = nothing %> </tr> </table> </form> Det skal lige siges, at jeg har kørt meget rundt i det, og at det står besynderligt. Håber I kan hjælpe mig med at få det plads :o(
Annonceindlæg fra gavdi
16. februar 2002 - 21:59
#1
Du laver noget af en sql-sætning i strSQL - men ikke det hele, og du udfører den ikke (vist nok med en execute) Kan det være problemet?
16. februar 2002 - 22:02
#2
Du skriver ikke hvad, der skal i tabellen kun, hvor i tabellen det skal være. Du mangler også Conn.Execute(strSQL). Jeg skulle mene, det ville hjælpe at du tog og kiggede lidt på det.
16. februar 2002 - 22:04
#3
Jeg får ikke gemt data fra formular-felterne i databasen, men jeg ryger rigtigt nok videre til default2.asp, og på siden kommer denne fejlmeddelelse for oven: Microsoft VBScript runtime error '800a01a8' Object required /artikler/artikel.asp, line 35 Linie 35 er denne: RS.Close
16. februar 2002 - 22:05
#4
hells, jeg har kigget så meget på det, at det flimrer for øjnene :o)
16. februar 2002 - 22:05
#5
Du har heller ikke oprettet RS (typisk et recordset), men det skal du heller ikke til en insert
16. februar 2002 - 22:07
#6
Kan en af Jer kopiere det over i et NotePad-dokument, flytte rundt på det, tilføje det der mangler og kopiere det tilbage? Jeg fordobler point for indsatsen. For en rutineret ASP-haj burde det ikke tage lang tid.
16. februar 2002 - 22:08
#7
Jeg har taget ud, sat ind igen, klippet, kopieret, sat ind, rokeret rundt. Intet af det passer mere. HJÆLP :o(
16. februar 2002 - 22:14
#8
Prøv at indsætte dette i default2.asp: <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath "/fpdb/include.mdb") Conn.open dbConn nick = Request.Form("nick") emne = Request.Form("emne") kommentar = Request.Form("kommentar") strSQL = "Insert into debat (" strSQL = strSQL & "nick, " strSQL = strSQL & "emne, " strSQL = strSQL & "kommentar,)" strSQL = strSQL & "values (" strSQL = strSQL & nick strSQL = strSQL & emne strSQL = strSQL & kommentar & ")" Conn.Execute(strSQL) Conn.Close Set Conn = nothing %> Er ikke sikker på at det virker, da jeg selv er ret ny til asp.
16. februar 2002 - 22:18
#9
Vi skal glemme alt om default2.asp På siden, som du kan se, er der nogle formular-felter. Indholdet af disse skal gemmes i tabellen "debat". Indholdet bliver så allerede vist på default2.asp Ovenstående bliver inkluderet i et andet dokument :o)
16. februar 2002 - 22:20
#10
Så prøv at se om det virker i filen med formen
16. februar 2002 - 22:22
#11
hells: Du skal nok have '....' omkrin tekstfelter. Og skal der ikke være en test for om man kommer på siden fordi man har trykket på knappen eller ej ?
16. februar 2002 - 22:26
#12
Hvis det andet ikke virker, så prøv det her: <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath "/fpdb/include.mdb") Conn.open dbConn strSQL = "Insert into debat (" strSQL = strSQL & "nick, " strSQL = strSQL & "emne, " strSQL = strSQL & "kommentar,)" strSQL = strSQL & "values (" strSQL = strSQL & Request.Form("nick") & ", " strSQL = strSQL & Request.Form("emne") & ", " strSQL = strSQL & Request.Form("kommentar") & ")" Conn.Execute(strSQL) Conn.Close Set Conn = nothing %>
16. februar 2002 - 22:27
#13
Men hvad med <input type="text"... og <textarea...? Det er jo meningen, at indlæggene fra brugerne skal gemmes i databasen.
16. februar 2002 - 22:29
#14
Det er det Request.Form("formfelt") gerne skulle sørge for. Men jeg ved ikke, om det virker, når de er på samme side som formen.
16. februar 2002 - 22:32
#15
Ok. Jeg skal have input-felterne på én side, og action skal være lig den side med Request.Form("formfelt")?
16. februar 2002 - 22:33
#16
Det vil jeg tro. Så kan du vel bare hente data'en på den anden side også.
16. februar 2002 - 22:34
#17
Og, hvis det ikke virker, så redirect til siden, der skal vise data'en.
17. februar 2002 - 00:46
#18
Jeg er kommet frem til følgende, men variablerne er tomme: <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb") Conn.open dbConn strSQL = "insert into debat (nick,emne,kommentar) values ('"&var_nick&"','"&var_emne&"','"&var_kommentar&"')" conn.execute (strSQL) 'var_nick=request.form("nick") 'var_emne=request.form("emne") 'var_kommentar=request.form("komentar") strSQL = strSQL & "nick, " strSQL = strSQL & "emne, " strSQL = strSQL & "kommentar, " Conn.Close Set Conn = nothing %> Hvor skal de tre linier sættes hen? 'var_nick=request.form("nick") 'var_emne=request.form("emne") 'var_kommentar=request.form("komentar")
17. februar 2002 - 00:52
#19
lige inden din strSQL = ...
17. februar 2002 - 00:58
#20
Her er hele koden: <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb") Conn.open dbConn 'Værdier indsættes i variablen strSQL strSQL = "insert into debat (nick, emne, kommentar) values(" & Request.Form("nick") & ", " & Request.Form("emne") & ", " & Request.Form("kommentar") & ")" 'Kommandoen i strSQL skal udføres Conn.Execute(strSQL) 'Databasen lukkes Conn.Close Set Conn = nothing %> Jeg glemte helt, at tegnet, &, også skulle med. Det her: strSQL = strSQL & "nick, " strSQL = strSQL & "emne, " strSQL = strSQL & "kommentar, " -skal ikke med, da vi har defineret variablen strSQL
17. februar 2002 - 01:00
#21
Du behøver altså ikke at lave forminput'sene om til variabler
17. februar 2002 - 09:29
#22
Hej hells! Nu ser koden således ud: <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb") Conn.open dbConn 'Værdier indsættes i variablen strSQL strSQL = "insert into debat (nick, emne, kommentar) values(" & Request.Form("nick") & ", " & Request.Form("emne") & ", " & Request.Form("kommentar") & ")" 'Kommandoen i strSQL skal udføres Conn.Execute(strSQL) strSQL = strSQL & "nick, " strSQL = strSQL & "emne, " strSQL = strSQL & "kommentar, " 'Database FORBINDELSEN lukkes Conn.Close Set Conn = nothing %> Og jeg får flg. meddelelse: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. /artikler/artikel.asp, line 34 Når jeg sender en formular, sender jeg tomme variabler ned i databasen?
17. februar 2002 - 09:45
#23
<% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb") Conn.open dbConn 'Værdier indsættes i variablen strSQL strSQL = "insert into debat (nick, emne, kommentar) values(" & Request.Form("nick") & ", " & Request.Form("emne") & ", " & Request.Form("kommentar") & ")" 'Kommandoen i strSQL skal udføres Conn.Execute(strSQL) ' Denne her kan fjernes? strSQL = strSQL & "nick, " ' Denne her kan fjernes? strSQL = strSQL & "emne, " ' Denne her kan fjernes? strSQL = strSQL & "kommentar, " 'Database FORBINDELSEN lukkes Conn.Close Set Conn = nothing %>
17. februar 2002 - 10:33
#24
Jeg får stadigvæk fejlmeddelelsen, men den sender åbenbart ikke tomme variabler ned i databasen nu...
17. februar 2002 - 10:38
#25
Er du sikker på at du har skriverettigheder på databasen ?? /Snuseren.dk
17. februar 2002 - 10:40
#26
Du indsætter jo ikke noget i databasen... Du siger jo kun at den skal indsætte i nick, emne, kommentar. Du mangler "Values".
17. februar 2002 - 10:42
#27
Ok. Hvad så med denne her: strSQL = "insert into debat (nick, emne, kommentar) VALUES(" & Request.Form("nick") & ", " & Request.Form("emne") & ", " & Request.Form("kommentar") & ")"
17. februar 2002 - 10:44
#28
Her optræder VALUES da? Skriverettigheder? Ja, det har jeg...
17. februar 2002 - 10:49
#29
HELE siden ser sådan her ud: <form method="POST" action="default2.asp"> <table border="0" cellpadding="6" cellspacing="0" width="100%" class="tekst11" bgcolor="#EEEEEE"> <tr> <td colspan="2"> <span class="overskrift17">Indtast debatemne</span> </td> </tr> <tr> <td>Forfatter:</td> <td><input type="text" name="nick" style="background-color: #ffff99;" size="35" id="input"></td> </tr> <tr> <td>Emne:</td> <td><input type="text" name="emne" style="background-color: #ffff99;" size="35" id="input"></td> </tr> <tr> <td valign="top">Kommentar:</td> <td><textarea rows="15" name="kommentar" style="background-color: #ffff99;" cols="51" id="input"></textarea></td> </tr> <tr> <td></td> <td><input type="submit" value="Send debatemne" name="send_debatemne" id="input"> <input type="reset" value="Nulstil" name="nulstil" id="input"></td> <% Set Conn = Server.CreateObject("ADODB.Connection") dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb") Conn.open dbConn strSQL = "insert into debat (nick, emne, kommentar) values(" & Request.Form("nick") & ", " & Request.Form("emne") & ", " & Request.Form("kommentar") & ")" Conn.Execute(strSQL) 'strSQL = strSQL & "nick, " 'strSQL = strSQL & "emne, " 'strSQL = strSQL & "kommentar, " Conn.Close Set Conn = nothing %> </tr> </table> </form>
17. februar 2002 - 10:54
#30
Når jeg forsøger at poste et indlæg, får jeg dette oven over formularen: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Dette er en test'. /artikler/artikel.asp, line 31
17. februar 2002 - 10:56
#31
Og linie 31 siger: Conn.Execute(strSQL)
17. februar 2002 - 11:02
#32
snuser, er du gået død? :o)
17. februar 2002 - 11:05
#33
strSQL = "insert into debat (nick, emne, kommentar) values('" & Request.Form("nick") & "', '" & Request.Form("emne") & "', '" & Request.Form("kommentar") & "')"
17. februar 2002 - 11:06
#34
Nu ser det ud til, at der sker noget nyt ved et nyt indlæg? Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver]COUNT field incorrect /artikler/artikel.asp, line 31
17. februar 2002 - 11:13
#35
Det virker ... NÆSTEN ... erikjacobsen. Kan du ikke lige svare, jeg hæver pointene
17. februar 2002 - 11:25
#36
nej, du skal ikke hæve point for min skyld
17. februar 2002 - 11:43
#37
Det er gjort nu. Kan du ikke lige svare? :o)
17. februar 2002 - 11:54
#38
Ok, men jeg skal kun have 5 (fem) point
17. februar 2002 - 12:00
#39
Sludder! I har alle tre hjulpet og brugt tid :o) MEN - når jeg opdaterer siden, sendes der tomme variabler ned i databasen? Indlæggende bliver opdateret, efterhånden som de bliver postet, men jeg får "Siden kan ikke opdateres uden at sende oplysningerne igen..."?
Kurser inden for grundlæggende programmering