29. juli 2001 - 18:48
Der er
8 kommentarer og 3 løsninger
Const adOpenKeyset = 1 & Const adLockOptimistic = 3
Hejsa.. Jeg er ved at lave noget ASP til min hjemmeside.. Og jeg er efterhånden ved at være træt af ikke afvide hvad dette er til Const adOpenKeyset = 1 Const adLockOptimistic =3 Det står i de fleste scripts jeg bruger.. Og hvis jeg f.eks. laver et News system... hvor ADD,EDIT,Delete er i samme.. Og hvor linkene ser sådan her ud news.asp?mode=add news.asp?mode=edit news.asp?mode=delete Og min ADD Funktion ser f.eks. sådan herud : <% Const adOpenKeyset = 1 Const adLockOptimistic = 3 set conn = server.createobject(\"ADODB.connection\") strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"tip.mdb\") conn.open strDSN Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"SELECT * FROM Dagens_Tip Where (ID = 0)\" rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic rs.AddNew rs(\"overskrift\") = overskrift rs(\"dato\") = Date() rs(\"tekst\") = tekst rs.Update rs(\"tipID\") = rs(\"id\") rs.Update rs.Close Set rs = Nothing %> Så kommer den og brokker sig længere nede ved EDIT fordi Const adOpenKeyset = 1 & Const adLockOptimistic = 3 Også står dernede.. Hvad betyder disse 2 linier ?
Annonceindlæg fra Salesforce
Du erklærer en constant med navnet adOpenKeyset, en konstant kan kun erklæres engang, det er derfor den brokker sig.
Sæt det i topppen af dit script, inden du begynder at tjekke for mode.
jeg ved sq heller ikke hvad de skal bruges til....hvad bruges de til ?
De bruges jo bare til at angive hvordan man åbner record sættet, man kunne også skrive : rs.Open SQL, strDSN, 1, 3
Hvorfor virker det her så ikke ? <% if Request.QueryString(\"mode\")=\"save\" then News = Replace(Request.Form(\"News\"), vbCrLf, \"<br>\") set conn = server.createobject(\"ADODB.connection\") strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"banned.mdb\") conn.open strDSN Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"SELECT * FROM News)\" rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic sql= \"insert into Crew(Navn,Nick,Email,Rang,ICQ,Alder,Why,Brugernavn,Password)\" rs.AddNew rs(\"overskrift\") = overskrift rs(\"Forfatter\") = Forfatter rs(\"News\") = News rs.Update rs.Update rs.Close Set rs = Nothing %>
Det var det her jeg mente ! if Request.QueryString(\"mode\")=\"save\" then News = Replace(Request.Form(\"News\"), vbCrLf, \"<br>\") set conn = server.createobject(\"ADODB.connection\") strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"banned.mdb\") conn.open strDSN Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"SELECT * FROM News)\" rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic rs.AddNew rs(\"overskrift\") = overskrift rs(\"Forfatter\") = Forfatter rs(\"News\") = News rs.Update rs.Update rs.Close Set rs = Nothing %>
Du har en fejl i nedenstående linie, prøv at fjerne parantesen i enden SQL = \"SELECT * FROM News)\" Det er den eneste fejl jeg kan se umiddelbart, men det ville være rart med en beskrivelse af de fejl du får. Mvh Thomas
Fordi du har fjernet erklæringen af asOpenKeyset og adLockOptimistic
30. juli 2001 - 01:30
#10
<%@ Language=VBScript %> <HTML> <HEAD> <META NAME=\"GENERATOR\" Content=\"Microsoft FrontPage 5.0\"> </HEAD> <BODY> <% if Request.QueryString(\"mode\")=\"add\" then %> <tr> <td width=\"400\" colspan=\"2\"> <div align=\"center\"><font size=\'3\' face=\'Verdana\'> <b>Opret XXXXXX Player</b><br></font><font size=\'2\'> <font size=\'3\' face=\'Verdana\'> Følgende felter skal udfyldes</div> </font><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <p align=\"center\"> </td></tr> </font><font size=\'3\' face=\'Verdana\'> <form METHOD=\"Post\" ACTION=\"bp.asp?mode=save\"> <p> </p> <div align=\"center\"> <center> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"301\" id=\"AutoNumber1\"> <tr> <td width=\"123\">Nick</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <INPUT name=Nick size=\"20\" value=\"\"></td> </tr> <tr> <td width=\"123\">Won ID</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <INPUT name=Wonid size=\"20\" value=\"\"></td> </tr> <tr> <td width=\"123\">Server</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <SELECT id=select3 name=srv style=\"HEIGHT: 22px; WIDTH: 143px\"> <OPTION selected>Server</OPTION> <% \'Databasen åbnes set conn = server.createobject(\"ADODB.connection\") StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier defineres SQL = \"SELECT * FROM Servers ORDER BY Srv\" set RS2 = conn.execute( SQL ) %> <% Do While Not Rs2.EOF %> <option value=<%=RS2(\"Navn\")%>><%=RS2(\"Navn\")%> </OPTION> <% Rs2.MoveNext Loop Rs2.Close Set Rs2 = Nothing %> </select> </td> </tr> <tr> <td width=\"123\">Violation</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <SELECT id=select4 name=violation style=\"HEIGHT: 22px; WIDTH: 143px\"> <OPTION selected>Violation</OPTION> <% \'Databasen åbnes set conn = server.createobject(\"ADODB.connection\") StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier defineres SQL = \"SELECT * FROM Violation ORDER BY code\" set RS3 = conn.execute( SQL ) %> <% Do While Not Rs3.EOF %> <option value=\"<%=Rs3(\"code\")%>\"><%=Rs3(\"code\")%> </OPTION> <% Rs3.MoveNext Loop Rs3.Close Set Rs3 = Nothing %> </select> </td> </tr> <tr> <td width=\"123\">Status</td> <td width=\"178\"><font size=\'3\' face=\'Verdana\'> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <INPUT name=Status size=\"20\" value=\"\"></font></td> </tr> <tr> <td width=\"123\">Kommentar</td> <td width=\"178\"><font size=\'3\' face=\'Verdana\'> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <TEXTAREA id=TEXTAREA2 name=Kommentar style=\"HEIGHT: 153px; LEFT: 350px; TOP: 184px; WIDTH: 306px\" rows=\"1\" cols=\"20\"></TEXTAREA></font></td> </tr> <tr> <td width=\"123\">Billede</td> <td width=\"178\"> <font size=\'3\' face=\'Verdana\'><font color=\'#984a46\' size=\'3\' face=\'Verdana\'><INPUT name=Billede size=\"20\" value=\"Filnavn\"></font></font><br></td> </tr> </table> </center> </div> </font><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <P align=center> </P> <div align=\"center\"> <br> <INPUT type=\"submit\" value=\"Save\" id=submit1 name=ENTER> <INPUT id=reset1 name=reset1 type=reset value=Cancel></P></div> </form> <% end if %> <% if Request.QueryString(\"mode\")=\"save\" then \'forbindelse til databasen. strconn = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"& Server.MapPath(\"XXXXXX.mdb\") &\";DefaultDir=\"& Server.MapPath(\"/\") &\";DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5\" set conn = server.createobject(\"adodb.connection\") conn.open(strconn) sql= \"insert into BP(Nick,WonID,Srv,Violation,Status,Kommentar,Billede)\" sql= sql & \"values(\'\" sql= sql & request(\"Nick\") & \"\',\'\" sql= sql & request(\"WonID\") & \"\',\'\" sql= sql & request(\"Srv\") & \"\',\'\" sql= sql & request(\"Violation\") & \"\',\'\" sql= sql & request(\"Status\") & \"\',\'\" sql= sql & request(\"Kommentar\") & \"\',\'\" sql= sql & request(\"Billede\") & \"\')\" conn.execute(sql) response.write \"Personen som har været igang med at ødeligge noget af det vi andre aller bedst kan li´, er heldigvis blevet snuppet på færsk gerning og dermed XXXXXX ! Good Job Punkbuster... You are my God !\" end if %> <% if Request.QueryString(\"mode\")=\"redi\" then %> <tr> <td width=400 colspan=2> </font><font size=\'3\' face=\'Verdana\'> <div align=\"center\"> <b>Redigere XXXXXX Player´s</b><br></font><font size=\'2\'> <font size=\'3\' face=\'Verdana\'> Følgende XXXXXX.dk Admin´s er gemt i Databasen</div> </font><font color=\'984A46\' size=\'3\' face=\'Verdana\'> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <p align=\"center\"> </td></tr> <% \'Databasen åbnes set conn = server.createobject(\"ADODB.connection\") StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN response.write \"<div align=\"\"center\"\">\" \'Søgekriterier defineres SQL = \"SELECT * FROM BP ORDER BY ID\" set RS = conn.execute( SQL ) If RS.EOF then response.write \"<tr><td><font color=\'984A46\' size=\'2\' face=\'Verdana\'>Der er ingen XXXXXX Player´s</td></tr>\" Else do while not RS.eof response.write \"<tr><td width=400 valign=top><font color=\'984A46\' size=\'2\' face=\'Verdana\'>\" response.write \"<a href=\'bp.asp?mode=aktuel&id=\" & RS(\"ID\") & \"\'><font size=\'2\' color=\'#BF0000\'>\" & RS(\"Nick\") & \"</font></a>\" response.write \"</td></tr><br>\" rs.movenext loop End if \'Databasen lukkes set conn = Nothing rs.close %> <% elseif Request.QueryString(\"mode\") = \"aktuel\" then %> <% \'Variabler hentes og sættes ID = Request.QueryString(\"id\") %> <div align=\"center\"></div> <form method=\"POST\" action=\"bp.asp?mode=ret\"> <% \'Database åbnes og gøres klar set conn = server.createobject(\"ADODB.connection\") strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterer sættes SQL = \"SELECT * FROM bp Where ID=\" & ID set RS = conn.execute( SQL ) Nick = RS(\"Nick\") WonID = RS(\"WonID\") Violation = RS(\"Violation\") srv = RS(\"srv\") %> <INPUT Type=\"hidden\" name=ID value=<%=RS(\"ID\")%> <div align=\"center\"> <P align=center> </P> <div align=\"center\"> <center> <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"301\" id=\"AutoNumber1\"> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Nick</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <INPUT name=Nick size=\"20\" value=\"<%= RS(\"Nick\")%>\"></td> </font> </tr> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Won ID</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <INPUT name=Wonid size=\"20\" value=\"<%= RS(\"WonID\")%>\"></td> </font> </tr> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Server</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <SELECT id=select3 name=srv style=\"HEIGHT: 22px; WIDTH: 143px\"> <OPTION selected value=\"Vælg Server\">Vælg Server</OPTION> <% \'Databasen åbnes set conn = server.createobject(\"ADODB.connection\") StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier defineres SQL = \"SELECT * FROM Servers ORDER BY srv\" set RS2 = conn.execute( SQL ) %> <% Do While Not Rs2.EOF %> <option value=\"<%=Rs2(\"Srv\")%>\"><%=Rs2(\"Srv\")%> </OPTION> <% Rs2.MoveNext Loop Rs2.Close Set Rs2 = Nothing %> </select> </td> </font> </tr> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Violation</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <SELECT id=select4 name=violation style=\"HEIGHT: 22px; WIDTH: 143px\"> <OPTION selected>Violation</OPTION> <% \'Databasen åbnes set conn = server.createobject(\"ADODB.connection\") StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier defineres SQL = \"SELECT * FROM Violation ORDER BY code\" set RS3 = conn.execute( SQL ) %> <% Do While Not Rs3.EOF %> <option value=\"<%=Rs3(\"code\")%>\"><%=Rs3(\"code\")%> </OPTION> <% Rs3.MoveNext Loop Rs3.Close Set Rs3 = Nothing %> </select> </td> </font> </tr> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Status</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <INPUT name=Status size=\"20\" value=\"<%= RS(\"Status\")%>\"></td> </font> </tr> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Kommentar</td> <td width=\"178\"><font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <TEXTAREA id=TEXTAREA2 name=Kommentar style=\"HEIGHT: 153px; LEFT: 350px; TOP: 184px; WIDTH: 306px\" rows=\"1\" cols=\"20\"><% Response.write Kommentar %></TEXTAREA></td> </font> </tr> <tr> <font size=\'3\' face=\'Verdana\'> <td width=\"123\">Billede</td> <td width=\"178\"> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'><INPUT name=Billede size=\"20\" value=\"<%= RS(\"Billede\")%>\"></font><br></td> </font> </tr> </table> </center> </div> <div align=\"center\"> <br> <INPUT type=\"submit\" value=\"Save\" id=submit1 name=submit1> <INPUT id=reset1 name=reset1 type=reset value=Cancel></P></div> </form> <% rs.Close set rs = Nothing %> <% elseif Request.QueryString(\"mode\") = \"ret\" then %> <tr> <td width=400 colspan=2> </font></font> <font size=\'3\' face=\'Verdana\'> <div align=\"center\"> <b>Redigere XXXXXX Palyers´s </b><br></font><font size=\"2\"> <font size=\'3\' face=\'Verdana\'> Du har nu redigeret i indstillingerne for XXXXXX Player <% = Nick %>. Ændringerne vil træde i kraft øjeblikkeligt.</font><font color=\'#984a46\' size=\'3\' face=\'Verdana\'><font color=\'984A46\' size=\'3\' face=\'Verdana\'><br> </div> </td> </tr> <div align=\"center\"><% Const adOpenKeyset = 1 Const adLockOptimistic = 3 set conn = server.createobject(\"ADODB.connection\") strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier for BP defineres Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"SELECT * FROM BP Where ID=\" & Request.form(\"ID\") rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic rs(\"Nick\") = Request.form(\"Nick\") rs(\"WonID\") = Request.form(\"WonID\") rs(\"srv\") = Request.form(\"srv\") rs(\"Violation\") = Request.form(\"Violation\") ID = RS(\"ID\") rs.Update rs.Close Set rs = Nothing Set conn = Nothing end if %> <% if Request.QueryString(\"mode\")=\"slet\" then %> <tr> <td width=400 colspan=2> </font></font> <font size=\'3\' face=\'Verdana\'> <div align=\"center\"> <b>Slet XXXXXX Player</b><br></font><font size=\'2\'> <font size=\'3\' face=\'Verdana\'> Følgende Player´s er XXXXXX</div> </font> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <font color=\'984A46\' size=\'3\' face=\'Verdana\'> <font color=\'984A46\' size=\'3\' face=\'Verdana\'> <p align=\"center\"> </td></tr> <% \'Databasen åbnes set conn = server.createobject(\"ADODB.connection\") StrDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier defineres SQL = \"SELECT * FROM BP ORDER BY ID\" set RS = conn.execute( SQL ) If RS.EOF then response.write \"<tr><td><font color=\'984A46\' size=\'2\' face=\'Verdana\'>Der er ikke nogen XXXXXX Player´s endnu</td></tr>\" Else do while not RS.eof Nick = RS(\"Nick\") WonID = RS(\"WonID\") Violation = RS(\"Violation\") srv = RS(\"srv\") ID = RS(\"ID\") response.write \"<tr><td width=400 valign=top><font color=\'984A46\' size=\'2\' face=\'Verdana\'>\" response.write \"- <a href=\'bp.asp?mode=sletaktuel&id=\" & ID & \"&nick=\" & \"\'><font size=\'2\' color=\'#BF0000\'>\" & Nick & \"</font><br></a>\" response.write \"</td></tr>\" rs.movenext loop \'Databasen lukkes set conn = Nothing rs.close end if %> <% elseif Request.QueryString(\"mode\") = \"sletaktuel\" then %></font></font></font><font size=\'3\' face=\'Verdana\'> <% \'Variabler hentes og sættes ID = Request.QueryString(\"id\") Nick = Request.QueryString(\"Nick\") response.write \"<tr><td width=400 colspan=2>\" response.write \"<font color=\'984A46\' size=\'3\' face=\'Verdana\'>\" response.write \"<b>Slet tur</b><br>\" response.write \"<font size=\'2\'>\" response.write \"Du er ved at slette \'\" & Nick & \"\' fra XXXXXX Players. Hvis du vælger at fortsætte vil personen blive fjerne fra XXXXXX Player´s Databasen - er du sikker på du vil fortsætte?<p>\" response.write \"<a href=\'bp.asp?mode=sure&id=\" & ID & \"&nick=\" & navn & \"\'>Ja, jeg vil gøre denne person til tidligere XXXXXX Player</a><br>\" response.write \"<a href=\'index.asp\' target=_parent>Nej, tilbage til Admin menuen</a><br>\" response.write \"</td></tr>\" end if if request.querystring(\"mode\") = \"sure\" then \'TipID hentes ID = Request.QueryString(\"id\") set conn = server.createobject(\"ADODB.connection\") strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"XXXXXX.mdb\") conn.open strDSN \'Søgekriterier for ID defineres Set rs = Server.CreateObject(\"ADODB.RecordSet\") SQL = \"SELECT * FROM BP Where ID=\" & ID rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic ID = RS(\"ID\") rs.Delete rs.Update rs.Close Set rs = Nothing Set conn = Nothing %> <tr><td width=400 colspan=2> <b>Slet XXXXXX.dk Admin</b><br> </font> <font size=\"2\"> <font size=\'3\' face=\'Verdana\'> Du har nu fjernet en XXXXXX Player fra listen, Personen vil nu ikke kunne findes på hjemmesiden mere.</font><font color=\'#984a46\' size=\'3\' face=\'Verdana\'><font color=\'984A46\' size=\'3\' face=\'Verdana\'><br> </td></tr> <% end if %> </TABLE></FONT> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <font color=\'984A46\' size=\'3\' face=\'Verdana\'> <font color=\'984A46\' size=\'3\' face=\'Verdana\'> <font color=\'#984a46\' size=\'3\' face=\'Verdana\'> <font color=\'984A46\' size=\'3\' face=\'Verdana\'> </BODY> </html>
30. juli 2001 - 09:23
#11
du bruger strDSN når du åbner dit recordset, det burde nok være din connection du skal bruge istedet. mao. de steder hvor du åbner for recordsættet skal du ændre strDSN til conn. ændre: rs.Open SQL, strDSN, adOpenKeyset, adLockOptimistic til: rs.Open SQL, conn, adOpenKeyset, adLockOptimistic
Kurser inden for grundlæggende programmering