10. februar 2001 - 11:25
Der er
35 kommentarer og 1 løsning
Ret oplysninger i db.. - Hjælp?/Links?
Et rigtige _begynder_-spørgsmål! : Jeg er i gang med et lille projekt, hvor jeg trækker ud fra en database med mine gl. klassekammerater og bruger det på en side (selvfølgelig :-]). I stedet for at rette databasen i Access, vil jeg gerne ha\', at man skal kunne rette oplysningerne online vha. fx form-felter.. (Det er fint nok hvis der er adgang til alle personer osv. på en gang - bare så simplet som muligt!) Jeg har ikke lige kunne finde nogle steder, hvor dette beskrives meget simpelt, så jeg vil være glad for links _*direkte*_ til en sådan artikkel el. evt. del af tutorial - eller hvis jeg må se hvordan du har gjort det?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
10. februar 2001 - 13:05
#1
Her er et eksempel. Både form og update er lagt i en fil: <%if session(\"login\") = \"ok\" Then%> <%if Request.form(\"Navn\") <> \"\" Then%> <!--#include file=\"dsn.asp\"--> <%ID=Request.form(\"ID\") Navn = Request.form(\"Navn\") Adresse = Request.form(\"Adresse\") PostNr = Request.form(\"PostNr\") City = Request.form(\"City\") Tlf = Request.form(\"Tlf\") Mobil=Request.form(\"Mobil\") Email=Request.form(\"Email\") fodselsdag=Request.form(\"fodselsdag\") SQL = \"UPDATE Adresse SET Navn=\'\"&Navn&\"\'\" SQL = SQL + \" ,Adresse=\'\"&Adresse&\"\'\" SQL = SQL + \" ,PostNr=\'\"&PostNr&\"\'\" SQL = SQL + \" ,City=\'\"&City&\"\'\" SQL = SQL + \" ,Tlf=\'\"&Tlf&\"\'\" SQL = SQL + \" ,Mobil=\'\"&Mobil&\"\'\" SQL = SQL + \" ,fodselsdag=\'\"&Fodselsdag&\"\'\" SQL = SQL + \" ,Email=\'\"&Email&\"\'\" SQL = SQL + \" WHERE ID=\"&ID&\";\" response.write(SQL) Set Rs = Conn.Execute(SQL) Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <!--#include file=\"dsn.asp\"--> <html> <head> <title>Untitled</title> <link rel=\"stylesheet\" href=\"WamperSider.css\"> </head> <%ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse WHERE Adresse.ID=\"&ID&\";\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 Navn=Rs.Fields(\"Navn\").Value Adresse=Rs.Fields(\"Adresse\").Value PostNr=Rs.Fields(\"PostNr\").Value City=Rs.Fields(\"City\").Value Tlf=Rs.Fields(\"Tlf\").Value Mobil=Rs.Fields(\"Mobil\").Value Email=Rs.Fields (\"Email\").Value Fodselsdag=Rs.Fields (\"Fodselsdag\").Value %> <body> <FORM name=NewRecord action=\"Klan-MedlemEdit.asp\" METHOD=POST> <TABLE> <input type=\"hidden\" name=\"ID\" value=\"<%=ID%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn\" value=\"<%=Navn%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse\" value=\"<%=Adresse%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr\" value=\"<%=PostNr%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City\" value=\"<%=City%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf\" value=\"<%=Tlf%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil\" value=\"<%=Mobil%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag\" value=\"<%=Fodselsdag%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email\" value=\"<%=Email%>\" size=\"50\"></td></tr> <tr><td></td><td></td><td><input type=\"submit\" value=\" Opdatere \"> </table> </form> </body> </html> <%end if else response.redirect(\"..\\index.asp\") end if%> Du kan evt dele det op i to filer hvis du vil. Bemærk jeg har: <!--#include file=\"dsn.asp\"--> som åbner databasen..
10. februar 2001 - 13:25
#2
Tak eagleeye - det ser absolut interessant ud! (Og herligt istedet for at læse kilometerlange tutorials med funktioner jeg ikke har brug for..) Jeg er dog _totalt_ nybegynder indenfor ASP-området, og kan desværre ikke følge med! Hvad gør <!--#include file=\"dsn.asp\"--> (min server understøtter _ikke_ SSI, hvis det er aktuelt)? Hvordan kan jeg tilpasse koden så det passer til min db? (Jeg kan dog næsten regne ud, at jeg skal ha\' ændret nogle navne, der henviser til \"felterne\" i db\'en..) Håber meget du har tid til en hurtig guide (eller andre hvis du ikke har?) - på forhånd tak igen! :-)
10. februar 2001 - 21:37
#3
<!--#include file=\"dsn.asp\"--> Åbne en connection til databasen. dsn.asp ser sådan ud. <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"dindatabase.mdb\") Conn.Open (DataBase) %> Du kan bare indsætte ovenstående i selve filen og droppe dsn.asp. Kort gennemgang af filen: Undskyld jeg har vist lagt for meget med du bør nokj fjerne følgende linie: <%if session(\"login\") = \"ok\" Then%> Test om der er skrevet noget i formen: <%if Request.form(\"Navn\") <> \"\" Then%> Hvis der er updateres databasen ellers udskrives formen. Hendter data fra formen: Navn = Request.form(\"Navn\") Adresse = Request.form(\"Adresse\") PostNr = Request.form(\"PostNr\") City = Request.form(\"City\") Tlf = Request.form(\"Tlf\") Mobil=Request.form(\"Mobil\") Email=Request.form(\"Email\") fodselsdag=Request.form(\"fodselsdag\") Opbygger en SQL sætning så det er muligt at opdatere databasen: SQL = \"UPDATE Adresse SET Navn=\'\"&Navn&\"\'\" SQL = SQL + \" ,Adresse=\'\"&Adresse&\"\'\" SQL = SQL + \" ,PostNr=\'\"&PostNr&\"\'\" SQL = SQL + \" ,City=\'\"&City&\"\'\" SQL = SQL + \" ,Tlf=\'\"&Tlf&\"\'\" SQL = SQL + \" ,Mobil=\'\"&Mobil&\"\'\" SQL = SQL + \" ,fodselsdag=\'\"&Fodselsdag&\"\'\" SQL = SQL + \" ,Email=\'\"&Email&\"\'\" SQL = SQL + \" WHERE ID=\"&ID&\";\" Opdater databasen: Set Rs = Conn.Execute(SQL) Formen var tom: Else %> Hendter posten med ID nummer ID som er blevet sent til file: <%ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse WHERE Adresse.ID=\"&ID&\";\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 Opdater variable som skal benyttes til at skrive ud i formen. Data kommer fra databasen: Navn=Rs.Fields(\"Navn\").Value Adresse=Rs.Fields(\"Adresse\").Value PostNr=Rs.Fields(\"PostNr\").Value City=Rs.Fields(\"City\").Value Tlf=Rs.Fields(\"Tlf\").Value Mobil=Rs.Fields(\"Mobil\").Value Email=Rs.Fields (\"Email\").Value Fodselsdag=Rs.Fields (\"Fodselsdag\").Value %> Udskriver formen: <FORM name=NewRecord action=\"Klan-MedlemEdit.asp\" METHOD=POST> <TABLE> <input type=\"hidden\" name=\"ID\" value=\"<%=ID%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn\" value=\"<%=Navn%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse\" value=\"<%=Adresse%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr\" value=\"<%=PostNr%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City\" value=\"<%=City%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf\" value=\"<%=Tlf%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil\" value=\"<%=Mobil%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag\" value=\"<%=Fodselsdag%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email\" value=\"<%=Email%>\" size=\"50\"></td></tr> <tr><td></td><td></td><td><input type=\"submit\" value=\" Opdatere \"> </table> </form> end,... Når du trykke på knappen kaldes siden igen og ændringerne gemmes i databasen.
10. februar 2001 - 21:39
#4
Brug der her.... <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"dindatabase.mdb\") Conn.Open (DataBase) %> <%if Request.form(\"Navn\") <> \"\" Then%> <%ID=Request.form(\"ID\") Navn = Request.form(\"Navn\") Adresse = Request.form(\"Adresse\") PostNr = Request.form(\"PostNr\") City = Request.form(\"City\") Tlf = Request.form(\"Tlf\") Mobil=Request.form(\"Mobil\") Email=Request.form(\"Email\") fodselsdag=Request.form(\"fodselsdag\") SQL = \"UPDATE Adresse SET Navn=\'\"&Navn&\"\'\" SQL = SQL + \" ,Adresse=\'\"&Adresse&\"\'\" SQL = SQL + \" ,PostNr=\'\"&PostNr&\"\'\" SQL = SQL + \" ,City=\'\"&City&\"\'\" SQL = SQL + \" ,Tlf=\'\"&Tlf&\"\'\" SQL = SQL + \" ,Mobil=\'\"&Mobil&\"\'\" SQL = SQL + \" ,fodselsdag=\'\"&Fodselsdag&\"\'\" SQL = SQL + \" ,Email=\'\"&Email&\"\'\" SQL = SQL + \" WHERE ID=\"&ID&\";\" response.write(SQL) Set Rs = Conn.Execute(SQL) Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <%ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse WHERE Adresse.ID=\"&ID&\";\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 Navn=Rs.Fields(\"Navn\").Value Adresse=Rs.Fields(\"Adresse\").Value PostNr=Rs.Fields(\"PostNr\").Value City=Rs.Fields(\"City\").Value Tlf=Rs.Fields(\"Tlf\").Value Mobil=Rs.Fields(\"Mobil\").Value Email=Rs.Fields (\"Email\").Value Fodselsdag=Rs.Fields (\"Fodselsdag\").Value %> <body> <FORM name=NewRecord action=\"Klan-MedlemEdit.asp\" METHOD=POST> <TABLE> <input type=\"hidden\" name=\"ID\" value=\"<%=ID%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn\" value=\"<%=Navn%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse\" value=\"<%=Adresse%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr\" value=\"<%=PostNr%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City\" value=\"<%=City%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf\" value=\"<%=Tlf%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil\" value=\"<%=Mobil%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag\" value=\"<%=Fodselsdag%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email\" value=\"<%=Email%>\" size=\"50\"></td></tr> <tr><td></td><td></td><td><input type=\"submit\" value=\" Opdatere \"> </table> </form> </body> </html> <%end if%>
10. februar 2001 - 21:40
#5
Håber det hjælper lidt eller så skriv igen :)
11. februar 2001 - 15:34
#7
eagleeye << Hva\' nu hvis man gerne vil have alle records på en gang. Stadig med forms i samme side. Hvordan vil updaten så se ud, her tager man jo desværre kun et record af gangen ?? Stig
11. februar 2001 - 16:50
#8
Jeg har lavet ovenståne om til alle records i en database på samme side: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) %> <%if Request.QueryString (\"status\") = \"opater\" Then sql = \"SELECT ID FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 for i = 1 to rs.RecordCount SQL = \"UPDATE Adresse SET Navn=\'\" & Request.form(\"Navn\"&i) & \"\'\" SQL = SQL + \" ,Adresse=\'\" & Request.form(\"Adresse\"&i) & \"\'\" SQL = SQL + \" ,PostNr=\'\" & Request.form(\"PostNr\"&i) & \"\'\" SQL = SQL + \" ,City=\'\" & Request.form(\"City\"&i) & \"\'\" SQL = SQL + \" ,Tlf=\'\" & Request.form(\"Tlf\"&i) & \"\'\" SQL = SQL + \" ,Mobil=\'\" & Request.form(\"Mobil\"&i) & \"\'\" SQL = SQL + \" ,fodselsdag=\'\" & Request.form(\"fodselsdag\"&i) & \"\'\" SQL = SQL + \" ,Email=\'\" & Request.form(\"Email\"&i) & \"\'\" SQL = SQL + \" WHERE ID=\" & Request.form(\"ID\"&i) & \";\" \' response.write(SQL) & \"<br>\" Conn.Execute(SQL) next Response.Write \"Databasen er ny opdateret.\" \'end if Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <%\'ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 %> <body> <FORM name=NewRecord action=\"retdata.asp?status=opater\" METHOD=POST> <% For i = 1 to rs.RecordCount %> <TABLE> <input type=\"hidden\" name=\"ID<%=rs(\"ID\")%>\" value=\"<%=rs(\"ID\")%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn<%=rs(\"ID\")%>\" value=\"<%=rs(\"Navn\")%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse<%=rs(\"ID\")%>\" value=\"<%=rs(\"Adresse\")%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr<%=rs(\"ID\")%>\" value=\"<%=rs(\"PostNr\")%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City<%=rs(\"ID\")%>\" value=\"<%=rs(\"City\")%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf<%=rs(\"ID\")%>\" value=\"<%=rs(\"Tlf\")%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil<%=rs(\"ID\")%>\" value=\"<%=rs(\"Mobil\")%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag<%=rs(\"ID\")%>\" value=\"<%=rs(\"Fodselsdag\")%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email<%=rs(\"ID\")%>\" value=\"<%=rs(\"Email\")%>\" size=\"50\"></td></tr> </table> <br> <% rs.MoveNext %> <% next %> <input type=\"submit\" value=\" Opdatere \" id=submit1 name=submit1> </form> </body> </html> <%end if%> <%Conn.Close%> Er det sådan noget du søger? Når du opdateret data skrives: Databasen er nu opdateret.
11. februar 2001 - 16:51
#9
Alternativ. Denne side viser FORMen igen efter update så man kan se retelserne: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) %> <%if Request.QueryString (\"status\") = \"opater\" Then sql = \"SELECT ID FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 for i = 1 to rs.RecordCount SQL = \"UPDATE Adresse SET Navn=\'\" & Request.form(\"Navn\"&i) & \"\'\" SQL = SQL + \" ,Adresse=\'\" & Request.form(\"Adresse\"&i) & \"\'\" SQL = SQL + \" ,PostNr=\'\" & Request.form(\"PostNr\"&i) & \"\'\" SQL = SQL + \" ,City=\'\" & Request.form(\"City\"&i) & \"\'\" SQL = SQL + \" ,Tlf=\'\" & Request.form(\"Tlf\"&i) & \"\'\" SQL = SQL + \" ,Mobil=\'\" & Request.form(\"Mobil\"&i) & \"\'\" SQL = SQL + \" ,fodselsdag=\'\" & Request.form(\"fodselsdag\"&i) & \"\'\" SQL = SQL + \" ,Email=\'\" & Request.form(\"Email\"&i) & \"\'\" SQL = SQL + \" WHERE ID=\" & Request.form(\"ID\"&i) & \";\" \' response.write(SQL) & \"<br>\" Conn.Execute(SQL) next Response.Write \"Databasen er ny opdateret.\" end if \'Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <%\'ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 %> <body> <FORM name=NewRecord action=\"retdata.asp?status=opater\" METHOD=POST> <% For i = 1 to rs.RecordCount %> <TABLE> <input type=\"hidden\" name=\"ID<%=rs(\"ID\")%>\" value=\"<%=rs(\"ID\")%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn<%=rs(\"ID\")%>\" value=\"<%=rs(\"Navn\")%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse<%=rs(\"ID\")%>\" value=\"<%=rs(\"Adresse\")%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr<%=rs(\"ID\")%>\" value=\"<%=rs(\"PostNr\")%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City<%=rs(\"ID\")%>\" value=\"<%=rs(\"City\")%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf<%=rs(\"ID\")%>\" value=\"<%=rs(\"Tlf\")%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil<%=rs(\"ID\")%>\" value=\"<%=rs(\"Mobil\")%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag<%=rs(\"ID\")%>\" value=\"<%=rs(\"Fodselsdag\")%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email<%=rs(\"ID\")%>\" value=\"<%=rs(\"Email\")%>\" size=\"50\"></td></tr> </table> <br> <% rs.MoveNext %> <% next %> <input type=\"submit\" value=\" Opdatere \" id=submit1 name=submit1> </form> </body> </html> <%\'end if%> <%Conn.Close%>
11. februar 2001 - 17:14
#10
Desværre eagleeye Fejl -------------- Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket \"ID=\" ------------------ Fejl slut Fejlen ligger i sql strengen. ?? Stig
11. februar 2001 - 17:19
#11
hmm jeg får nu ikke nogle fejl.. Har du en kolonne i din database som hedder ID med autonummer?
11. februar 2001 - 17:31
#12
Her er siden, magen til din, dog med mindre kolonner. <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DSN\" if Request.QueryString (\"status\") = \"opater\" Then sql = \"SELECT ID FROM tabel;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 for i = 1 to rs.RecordCount SQL = \"UPDATE tabel SET fornavn=\'\" & Request.form(\"fornavn\"&i) & \"\'\" SQL = SQL + \" ,efternavn=\'\" & Request.form(\"efternavn\"&i) & \"\'\" SQL = SQL + \" ,Email=\'\" & Request.form(\"Email\"&i) & \"\'\" SQL = SQL + \" WHERE ID=\" & Request.form(\"ID\"&i) & \";\" Conn.Execute(SQL) next Response.Write \"Databasen er ny opdateret.\" end if %> <html> <head> <title>Untitled</title> </head> <% sql = \"SELECT * FROM tabel;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 %> <body> <FORM name=NewRecord action=\"dbop.asp?status=opater\" METHOD=POST> <% For i = 1 to rs.RecordCount %> <TABLE> <input type=\"hidden\" name=\"ID<%=rs(\"ID\")%>\" value=\"<%=rs(\"ID\")%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"fornavn<%=rs(\"ID\")%>\" value=\"<%=rs(\"fornavn\")%>\" size=\"50\"></td></tr> <tr><td>Efternavn:</td><td></td><td><input type=\"text\" name=\"efternavn<%=rs(\"ID\")%>\" value=\"<%=rs(\"efternavn\")%>\" size=\"50\"> </td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email<%=rs(\"ID\")%>\" value=\"<%=rs(\"Email\")%>\" size=\"50\"></td></tr> </table> <br> <% rs.MoveNext next %> <input type=\"submit\" value=\" Opdatere \" id=submit1 name=submit1> </form> <% Conn.Close %> </body> </html> P.S. Databasen har 4 koloner id med autonr. fornavn, efternavn og email. alle tekst felter, som bl.a. tillader NULL. ?????????????????? Stig
11. februar 2001 - 17:36
#13
Eagleeye, hvis du vil ligge dine sider op på min server, kan jeg selv kigge dem igennem.
ftp://eks:pert@212.10.34.90 Stig
11. februar 2001 - 17:51
#14
Jeg kan ikke få FTP adgang til 212.10.34.90..
11. februar 2001 - 17:54
#15
Yeps, jeg får altså også en fejl, med et el. andet med ID...
11. februar 2001 - 17:56
#16
Du kan ikke klikke på \"linket\" da systemet opfatter det som værende en mail adr. Du skal skrive adr. i din browser. Stig
11. februar 2001 - 18:33
#17
Du bruger: Conn.Open \"DSN\" Du skal vel skrive: Conn.Open \"DSN=dsnnavn\" Hvilken database bruger du?
11. februar 2001 - 18:41
#18
Hej Eagleeye - DSN er ODBC driveren. Begge filer dbop.asp og access databasen ligger på
ftp://eks:pert@212.10.34.90 Du skal være meget velkommen til at ligge dine egne filer der virker derop. Eller tage mine 2 \"som ikke virker\"
Mvh
Stig
11. februar 2001 - 18:46
#19
er lagt op men begge mine virker på min maskine prøver lige dine filer.
11. februar 2001 - 18:49
#20
Din kode giver mig følgende fejl: Microsoft OLE DB Provider for ODBC Drivers error \'80004005\' [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified /retidb/dbop.asp, line 3
11. februar 2001 - 19:08
#21
Hej eagleeye Dine filer virker også hos mig. Jeg lukker min ftp igen, og vil gå dit igennem. Jeg takker for hjælpen Mvh Stig
11. februar 2001 - 19:13
#22
Det virker også hos mig nu - også med min egen db.. Mærkeligt hvorfor det ikke gjorde ved første forsøg - jeg kan ikke lige gennemskue nogle ændringer... Tak skal du have! Også for linket, der er ret lærerigt.. (Hvis bare man havde tid.) (Point kommer her... sådan.) Nu du er varmet op - har du så noget kode liggende til hvordan man meget simpelt kan slette en helt post eller oprette en ny??
11. februar 2001 - 19:18
#23
Ja men det må vendte til senere(ca imorgen) jeg er nemlig på vej ud af døren :)
11. februar 2001 - 19:20
#24
OK - håber du husker det / får tid! ;-)
11. februar 2001 - 23:20
#25
Hmm jeg har lige fundet en fejl i : <% For i = 1 to rs.RecordCount %> <TABLE> <input type=\"hidden\" name=\"ID<%=rs(\"ID\")%>\" value=\"<%=rs(\"ID\")%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn<%=rs(\"ID\")%>\" value=\"<%=rs(\"Navn\")%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse<%=rs(\"ID\")%>\" value=\"<%=rs(\"Adresse\")%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr<%=rs(\"ID\")%>\" value=\"<%=rs(\"PostNr\")%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City<%=rs(\"ID\")%>\" value=\"<%=rs(\"City\")%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf<%=rs(\"ID\")%>\" value=\"<%=rs(\"Tlf\")%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil<%=rs(\"ID\")%>\" value=\"<%=rs(\"Mobil\")%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag<%=rs(\"ID\")%>\" value=\"<%=rs(\"Fodselsdag\")%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email<%=rs(\"ID\")%>\" value=\"<%=rs(\"Email\")%>\" size=\"50\"></td></tr> </table> <br> <% rs.MoveNext %> <% next %> <input type=\"submit\" value=\" Opdatere \" id=submit1 name=submit1> SKAL være: <% For i = 1 to rs.RecordCount %> <TABLE> <input type=\"hidden\" name=\"ID<%=i%>\" value=\"<%=rs(\"ID\")%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn<%=i%>\" value=\"<%=rs(\"Navn\")%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse<%=i%>\" value=\"<%=rs(\"Adresse\")%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr<%=i%>\" value=\"<%=rs(\"PostNr\")%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City<%=i%>\" value=\"<%=rs(\"City\")%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf<%=i%>\" value=\"<%=rs(\"Tlf\")%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil<%=i%>\" value=\"<%=rs(\"Mobil\")%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag<%=i%>\" value=\"<%=rs(\"Fodselsdag\")%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email<%=i%>\" value=\"<%=rs(\"Email\")%>\" size=\"50\"></td></tr> </table> <hr> <br> <% rs.MoveNext %> <% next %> <input type=\"submit\" value=\" Opdatere \" id=submit1 name=submit1> Hvis man sletter en post og siden hen retter i databasen kommer fejlen frem, Så forsøger den at opdatere en post som ikke findes.
11. februar 2001 - 23:22
#26
Jeg har lavet et eksemple: start side default.asp: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <% sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 %> <body> <center> <TABLE> <tr><td>Navn:</td><td>Slet:</td></tr> <% For i = 1 to rs.RecordCount %> <tr> <td><%=rs(\"Navn\")%></td> <td><a href=\"sletdata.asp?id=<%=rs(\"ID\")%>\">Slet post</a></td> </tr> <% rs.MoveNext %> <% next %> </table> <br> <TABLE> <tr align=\"center\"> <td><a href=\"nyedata.asp\">Ny post</a><td> <td><a href=\"retdata.asp\">Ret alle poster</a><td> </tr> </table> </center> </body> </html> <%Conn.Close%>
11. februar 2001 - 23:23
#27
Filen retdata.asp: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) %> <%if Request.QueryString (\"status\") = \"opater\" Then sql = \"SELECT ID FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 for i = 1 to rs.RecordCount SQL = \"UPDATE Adresse SET Navn=\'\" & Request.form(\"Navn\"&i) & \"\'\" SQL = SQL + \" ,Adresse=\'\" & Request.form(\"Adresse\"&i) & \"\'\" SQL = SQL + \" ,PostNr=\'\" & Request.form(\"PostNr\"&i) & \"\'\" SQL = SQL + \" ,City=\'\" & Request.form(\"City\"&i) & \"\'\" SQL = SQL + \" ,Tlf=\'\" & Request.form(\"Tlf\"&i) & \"\'\" SQL = SQL + \" ,Mobil=\'\" & Request.form(\"Mobil\"&i) & \"\'\" SQL = SQL + \" ,fodselsdag=\'\" & Request.form(\"fodselsdag\"&i) & \"\'\" SQL = SQL + \" ,Email=\'\" & Request.form(\"Email\"&i) & \"\'\" SQL = SQL + \" WHERE ID=\" & Request.form(\"ID\"&i) & \";\" \' response.write(SQL) & \"<br>\" Conn.Execute(SQL) next Response.Write \"Databasen er ny opdateret.\" end if \'Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <%\'ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 %> <body> <FORM name=NewRecord action=\"retdata.asp?status=opater\" METHOD=POST> <% For i = 1 to rs.RecordCount %> <TABLE> <input type=\"hidden\" name=\"ID<%=i%>\" value=\"<%=rs(\"ID\")%>\"> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn<%=i%>\" value=\"<%=rs(\"Navn\")%>\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse<%=i%>\" value=\"<%=rs(\"Adresse\")%>\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr<%=i%>\" value=\"<%=rs(\"PostNr\")%>\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City<%=i%>\" value=\"<%=rs(\"City\")%>\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf<%=i%>\" value=\"<%=rs(\"Tlf\")%>\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil<%=i%>\" value=\"<%=rs(\"Mobil\")%>\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag<%=i%>\" value=\"<%=rs(\"Fodselsdag\")%>\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email<%=i%>\" value=\"<%=rs(\"Email\")%>\" size=\"50\"></td></tr> </table> <hr> <br> <% rs.MoveNext %> <% next %> <input type=\"submit\" value=\" Opdatere \" id=submit1 name=submit1> </form> </body> </html> <%\'end if%> <%Conn.Close%>
11. februar 2001 - 23:23
#28
Filen nyedata.asp <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) %> <%if Request.QueryString (\"status\") = \"indset\" Then strSQL = \"INSERT INTO adresse (Navn, Adresse, Postnr, City, Tlf, Mobil, fodselsdag, Email) \" strSQL = strSQL & \"VALUES (\'\" & request.form(\"Navn\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Adresse\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Postnr\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"City\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Tlf\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Mobil\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"fodselsdag\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Email\") & \"\');\" Conn.Execute(strSQL) Response.Redirect(\"default.asp\") Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <%\'ID= request.querystring(\"ID\") sql = \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse;\" Set Rs = Server.CreateObject(\"ADODB.Recordset\") Rs.Open sql, conn, 3, 3 %> <body> <FORM name=NewRecord action=\"nyedata.asp?status=indset\" METHOD=POST> <TABLE> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn\" value=\"\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse\" value=\"\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr\" value=\"\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City\" value=\"\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf\" value=\"\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil\" value=\"\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag\" value=\"\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email\" value=\"\" size=\"50\"></td></tr> </table> <input type=\"submit\" value=\" Indsæt \" id=submit1 name=submit1> </form> </body> </html> <%end if%> <%Conn.Close%>
11. februar 2001 - 23:26
#29
Filen sletdata.asp: <% response.buffer = true %> <html> <head> <title>Slet fra Databasen</title> </head> <body> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db4.mdb\") strSQL = \"DELETE * FROM adresse WHERE ID=\" & TRIM(Request.QueryString(\"id\")) Conn.Execute (strSQL) conn.Close Set conn = nothing response.redirect (\"default.asp\") %> </body> </html>
11. februar 2001 - 23:32
#30
Ikke flere filer. Måske du nu kan se hvorfor jeg havde en include fil i første eksempel? Disse linier optræder i alle filer: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) %> De linier kan flyttes til en anden .asp fil eksempelvis dsn.asp. Der hvor linierne stod kan du istedet for skrive: <!--#include file=\"dsn.asp\"-->
11. februar 2001 - 23:50
#31
Jeg takker mange gange! Det var lige hvad jeg havde brug for - og desuden ser det tilgængeligt ud, så jeg kan lære derfra selv - fedt nok! :) En ting, jeg ikke lige umiddelbart forstår er, hvorfor du laver det der (besværlige?) trick med fødselsdag hver gang?? Kunne man ikke bare have sagt SELECT * FROM Adresse ORDER BY ID (cirka!) - og fået det samme ud af det?
11. februar 2001 - 23:59
#32
Det med fødseldagen er for at formatere outputet på en bestemt måde \'dd-Mmm-yyyy\' giver 12-Jan-1987 eksempelvis. Jeg har lavet noget som ikke er så smart her. Nemlig at tabellen og en kolonne har samme navn. Det gør ikke noget, men når man kikke på det kan man let blive forvidre. * vælger alle kolonner i tabellen. \"SELECT *, Adresse.Fodselsdag, Format(Adresse.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM Adresse;\" skulle nok havde været, men det gør ikke noget: \"SELECT *, tabel.Fodselsdag, Format(tabel.Fodselsdag,\'dd-Mmm-yyyy\') AS Fodselsdag FROM tabel;\"
12. februar 2001 - 00:02
#33
Det gik vist lidt for hurtigt med filen nyedata.asp. Filen skulle jo egenligt se sådan ud: Filen nyedata.asp: <%if Request.QueryString (\"status\") = \"indset\" Then Set Conn = Server.CreateObject(\"ADODB.Connection\") DataBase = \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db4.mdb\") Conn.Open (DataBase) strSQL = \"INSERT INTO adresse (Navn, Adresse, Postnr, City, Tlf, Mobil, fodselsdag, Email) \" strSQL = strSQL & \"VALUES (\'\" & request.form(\"Navn\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Adresse\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Postnr\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"City\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Tlf\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Mobil\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"fodselsdag\") & \"\',\" strSQL = strSQL & \" \'\" & request.form(\"Email\") & \"\');\" Conn.Execute(strSQL) Conn.Close Response.Redirect(\"default.asp\") Else %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> </head> <body> <FORM name=NewRecord action=\"nyedata.asp?status=indset\" METHOD=POST> <TABLE> <tr><td>Navn:</td><td></td><td><input type=\"text\" name=\"Navn\" value=\"\" size=\"50\"></td></tr> <tr><td>Adresse:</td><td></td><td><input type=\"text\" name=\"Adresse\" value=\"\" size=\"50\"> </td></tr> <tr><td>PostNr:</td><td></td><td><input type=\"text\" name=\"PostNr\" value=\"\" size=\"4\"></td></tr> <tr><td>By:</td><td></td><td><input type=\"text\" name=\"City\" value=\"\" size=\"50\"></td></tr> <tr><td>Tlf:</td><td></td><td><input type=\"text\" name=\"Tlf\" value=\"\" size=\"8\"></td></tr> <tr><td>Mobil:</td><td></td><td><input type=\"text\" name=\"Mobil\" value=\"\" size=\"8\"></td></tr> <tr><td>Fødselsdag:</td><td></td><td><input type=\"text\" name=\"Fodselsdag\" value=\"\" size=\"50\"></td></tr> <tr><td>Email:</td><td></td><td><input type=\"text\" name=\"Email\" value=\"\" size=\"50\"></td></tr> </table> <input type=\"submit\" value=\" Indsæt \" id=submit1 name=submit1> </form> </body> </html> <%end if%>
12. februar 2001 - 00:05
#34
Kunne man ikke bare have sagt SELECT * FROM Adresse ORDER BY ID (cirka!) - og fået det samme ud af det? --- Jo man får det samme ud af det. Forskellen er at formatering af dato visningen ikke er der.
12. februar 2001 - 00:07
#35
- OK! --- Den anden version af nyedata.asp virkede nu også fint..
13. februar 2001 - 15:41
#36
Hej Eagleeye - Kan du huske den ID= fejl jeg fik. Den kommer når id feltet ikke er fortløbene f.eks. 1,2,3,5,6 så virker scriptet ikke. Nogle forslag ??? Stig
Kurser inden for grundlæggende programmering