| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | ASP - Insert i batabase Fra : Martin | 
  Dato :  10-11-08 15:09 |  
  |  
 
            Jeg er ny i ASP faget. Så undskyld, hvis jeg spørg om noget dumt.
  
Jeg er ved at lave et system, hvor man kan oprette, slette og
 opdatere i en database, ved hjælp af Former.
 Iøjeblikket er jeg i gang med at lave en opret knap.
 Side1:  www.pries-gate.dk/tutorial.asp
Side2:  www.pries-gate.dk/news4.asp
Side3:  www.pries-gate.dk/indsaet.asp ( den kan i ikke se)
 databasen består af 
 ID(auto),Fornavn,Efternavn,Foedselsdato,Telefon
 Så når jeg vil oprette en ny bruger/nyhed (Det er lige meget)
 Så skriver jeg informationerne ind og trykker Opret.
 Så bliver jeg sendt til view siden - oversigts siden. man kan se
 den er oprettet, fordi man kan se id'en. Men eller bliver
 telefonnummeret kun oprettet.?? hvorfor bliver Fornavn efternavn
 og fødselsdag ikke også gemt??
 Prøv selv
 Side1:  www.pries-gate.dk/tutorial.asp
her er ASP-Koden!
            
   
 <table border=0 cellspacing=0> 
 <tr bgcolor=#9F9F9F>
 <td><b>Id</b></td>
 <td><b>Fornavn</b></td>
 <td><b>Efternavn</b></td>
 <td width="50"><a href="/new4.asp"> <%  Response.Write "Opret Ny"
 %></a></td>
 </tr>
 <%
 ' Databaseforbindelse - husk at angive sti til din database
 Set Conn = Server.CreateObject("ADODB.Connection")
 DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
 DSN = DSN & "DBQ=" & Server.MapPath("/databaser/andeby.mdb")
 Conn.Open DSN
    ' SQL forespørgsel
    strSQL = "Select * from personer Order by id Desc"
    ' Udfør forespørgsel (rs indeholder nu resultatet)
    Set rs = Conn.Execute(strSQL)
    if Rs.EOF then
 %>
             <TR>
                   <TD colspan="6">Der er ingen rapporter.</TD>
             </TR>
 <%
    elseif not rs.eof then
    ' Gennemløb Recordset (rs) med en løkke
    Do
   
   
 %>
  
 <tr>
      <td width="20"> 
 <a href="/show2.asp?id=<% =RS("id") %>">
 <%    
    Response.Write rs("id") & "<br>"
 %>
  </a>
    </td>
      <td width="70"> 
 <%
       Response.Write rs("Fornavn") & "<br>"
 %>
    </td>
     <td width="110"> 
 <%    
    Response.Write rs("Efternavn") & "<br>"
 %>
 </td>
 </tr>
  <%
    ' Gå til næste Record i rs
    rs.MoveNext
 ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
 Loop While Not rs.EOF
 ' Luk databaseforbindelse
    RS.Close
    Set RS = Nothing
    Conn.Close
    Set Conn = Nothing
 %>
 <%
 End If
 %>
 </table>
 Tak på forhånd!
 PS: Det kunne være dejligt at få den rigtigt ASP-Kode til sidst. 
 i hel format ;-D
 Hilsen Martin
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
           Martin (10-11-2008) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  10-11-08 15:24 |  
  |  
 
            hov... En smutter ikke batabase men DATABASE
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
           Ukendt (10-11-2008) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  10-11-08 16:32 |  
  |   
            
"Martin" <Martin@pries.dk> skrev
 > Jeg er ny i ASP faget. Så undskyld, hvis jeg spørg om noget dumt.
 Der findes ingen dumme spørgsmål...
 > Jeg er ved at lave et system, hvor man kan oprette, slette og
 > opdatere i en database, ved hjælp af Former.
 >
 > Iøjeblikket er jeg i gang med at lave en opret knap.
 >
 >
 > Side1:  www.pries-gate.dk/tutorial.asp
> Side2:  www.pries-gate.dk/news4.asp
> Side3:  www.pries-gate.dk/indsaet.asp ( den kan i ikke se)
 >
 > databasen består af
 > ID(auto),Fornavn,Efternavn,Foedselsdato,Telefon
 >
 > Så når jeg vil oprette en ny bruger/nyhed (Det er lige meget)
 > Så skriver jeg informationerne ind og trykker Opret.
 >
 > Så bliver jeg sendt til view siden - oversigts siden. man kan se
 > den er oprettet, fordi man kan se id'en. Men eller bliver
 > telefonnummeret kun oprettet.?? hvorfor bliver Fornavn efternavn
 > og fødselsdag ikke også gemt??
 >
 > Prøv selv
 > Side1:  www.pries-gate.dk/tutorial.asp
>
 > her er ASP-Koden!
 Kom med koden på din Insert-sql og Opret form...
 > <table border=0 cellspacing=0>
 > <tr bgcolor=#9F9F9F>
 > <td><b>Id</b></td>
 > <td><b>Fornavn</b></td>
 > <td><b>Efternavn</b></td>
 > <td width="50"><a href="/new4.asp"> <%  Response.Write "Opret Ny"
 > %></a></td>
 >
 > </tr>
 > <%
 > ' Databaseforbindelse - husk at angive sti til din database
 > Set Conn = Server.CreateObject("ADODB.Connection")
 > DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
 > DSN = DSN & "DBQ=" & Server.MapPath("/databaser/andeby.mdb")
 > Conn.Open DSN
 >
 > ' SQL forespørgsel
 > strSQL = "Select * from personer Order by id Desc"
 > ' Udfør forespørgsel (rs indeholder nu resultatet)
 > Set rs = Conn.Execute(strSQL)
 >
 >
 > if Rs.EOF then
 > %>
 > <TR>
 >    <TD colspan="6">Der er ingen rapporter.</TD>
 > </TR>
 >
 > <%
 > elseif not rs.eof then
 > ' Gennemløb Recordset (rs) med en løkke
 > Do
 >
 >
 > %>
 >
 > <tr>
 >  <td width="20">
 > <a href="/show2.asp?id=<% =RS("id") %>">
 > <%
 >   Response.Write rs("id") & "<br>"
 > %>
 > </a>
 >   </td>
 >     <td width="70">
 > <%
 >   Response.Write rs("Fornavn") & "<br>"
 > %>
 >
 >   </td>
 >    <td width="110">
 > <%
 >   Response.Write rs("Efternavn") & "<br>"
 > %>
 > </td>
 > </tr>
 > <%
 >   ' Gå til næste Record i rs
 >   rs.MoveNext
 >
 > ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
 > Loop While Not rs.EOF
 >
 > ' Luk databaseforbindelse
 > RS.Close
 > Set RS = Nothing
 > Conn.Close
 > Set Conn = Nothing
 > %>
 > <%
 > End If
 > %>
 > </table>
 Det er din Select sætning, du kører her...
 Bjarne 
            
              |   |   
            
        
 
            
         
           Martin (10-11-2008) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  10-11-08 17:55 |  
  |  
 
            <%
 ' Databaseforbindelse - husk at angive sti til din database
 Set Conn = Server.CreateObject("ADODB.Connection")
 DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
 DSN = DSN & "DBQ=" & Server.MapPath("/databaser/andeby.mdb")
 Conn.Open DSN
 strSQL = "Insert into personer ("
 strSQL = "Insert into personer (Fornavn) values('" &
 Request.Form("Fornavn") & "')"
 strSQL = "Insert into personer (Efternavn) values('" &
 Request.Form("Efternavn") & "')"
 strSQL = "Insert into personer (Foedselsdato) values('" &
 Request.Form("Foedselsdato") & "')"
 strSQL = "Insert into personer (Telefon) values('" &
 Request.Form("Telefon") & "')"
 ' SQL sætning eksekveres 
 Conn.Execute(strSQL)
 ' Luk databaseforbindelse
 Conn.Close
 Set Conn = Nothing
 Response.redirect ("/tutorial.asp")
 %>
 
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
            Ukendt (10-11-2008) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  10-11-08 18:07 |  
  |   
            
 "Martin" <Martin@pries.dk> skrev i en meddelelse 
 news:49186771$0$90271$14726298@news.sunsite.dk...
 > <%
 > ' Databaseforbindelse - husk at angive sti til din database
 > Set Conn = Server.CreateObject("ADODB.Connection")
 > DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
 > DSN = DSN & "DBQ=" & Server.MapPath("/databaser/andeby.mdb")
 > Conn.Open DSN
 >
 > strSQL = "Insert into personer (Fornavn) values('" &
 > Request.Form("Fornavn") & "')"
 > strSQL = "Insert into personer (Efternavn) values('" &
 > Request.Form("Efternavn") & "')"
 > strSQL = "Insert into personer (Foedselsdato) values('" &
 > Request.Form("Foedselsdato") & "')"
 > strSQL = "Insert into personer (Telefon) values('" &
 > Request.Form("Telefon") & "')"
 
 Prøv med:
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)" 
 & _
 " Values ('" & Request.Form("Fornavn") & "', '" &...osv...
 Bjarne 
 
 
  
            
             |   |   
            
        
 
            
         
             Martin (10-11-2008) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  10-11-08 20:52 |  
  |   
            
> Prøv med: 
 > strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)"  
 > & _ 
 > " Values ('" & Request.Form("Fornavn") & "', '" &...osv... 
 > Bjarne  
 >  
 > 
 så den skal se sådan ud?
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)"
 "Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") &
 "', '" & Request.Form("Foedselsdato") & "'," & Request.Form("Telefon") & ")"
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
              Ukendt (10-11-2008) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  10-11-08 21:20 |  
  |   
            
 "Martin" <Martin@pries.dk> skrev
 >> Prøv med:
 >> strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, 
 >> Telefon)"
 >> & _
 >> " Values ('" & Request.Form("Fornavn") & "', '" &...osv...
 >> Bjarne
 >>
 >>
 >
 > så den skal se sådan ud?
 >
 > strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, 
 > Telefon)"
 >
 > "Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") 
 > &
 > "', '" & Request.Form("Foedselsdato") & "'," & Request.Form("Telefon") & 
 > ")"
 
 Sådan - ikke testet...
 
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)" 
 & _
 " Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") 
 & _
 "', '" & Request.Form("Foedselsdato") & "', " & Request.Form("Telefon") & 
 "')"
 
 Bjarne 
 
 
  
            
             |   |   
            
        
 
            
         
               Ukendt (10-11-2008) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  10-11-08 21:26 |  
  |   
            
 "bsn" <bsnSNABELAoncableDOTdk> skrev i en meddelelse 
 news:491897a8$0$15901$edfadb0f@dtext01.news.tele.dk...
 >
 > "Martin" <Martin@pries.dk> skrev
 >>> Prøv med:
 >>> strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, 
 >>> Telefon)"
 >>> & _
 >>> " Values ('" & Request.Form("Fornavn") & "', '" &...osv...
 >>> Bjarne
 >>>
 >>>
 >>
 >> så den skal se sådan ud?
 >>
 >> strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, 
 >> Telefon)"
 >>
 >> "Values ('" & Request.Form("Fornavn") & "', '" & 
 >> Request.Form("Efternavn") &
 >> "', '" & Request.Form("Foedselsdato") & "'," & Request.Form("Telefon") & 
 >> ")"
 >
 > Sådan - ikke testet...
 >
 
 Der manglede lige en enkelt pling '
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)" 
 & _
 " Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") 
 & _
 "', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon") & 
 "')"
 
 Bjarne
 
 
  
            
             |   |   
            
        
 
            
         
                Martin (10-11-2008) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  10-11-08 21:57 |  
  |   
            
> > Sådan - ikke testet... 
 > > 
 >  
 > Der manglede lige en enkelt pling ' 
 > strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)"  
 > & _ 
 > " Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn")  
 > & _ 
 > "', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon") &  
 > "')" 
 >  
 > Bjarne 
 >  
 > 
 Ved ikke helt hvorfor det ikke virker... har sat denne kode ind i indsaet.asp
 du kan selv prøve det på  www.pries-gate.dk/tutorial.asp der kan du prøve at
 oprette en selv..
 <%
 ' Databaseforbindelse - husk at angive sti til din database
 Set Conn = Server.CreateObject("ADODB.Connection")
 DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
 DSN = DSN & "DBQ=" & Server.MapPath("/databaser/andeby.mdb")
 Conn.Open DSN
 Der manglede lige en enkelt pling ' 
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)" 
 & _ 
 " Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") 
 & _ 
 "', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon") & 
 "')" 
 ' SQL sætning eksekveres 
 Conn.Execute(strSQL)
 ' Luk databaseforbindelse
 Conn.Close
 Set Conn = Nothing
 Response.redirect ("/tutorial.asp")
 %>
 Jeg kan ikke lige selv se nogen fejl.
 > strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)" 
 skal stå på en linje
 >& _ 
 >" Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") 
 >& _ 
 >"', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon") & 
 >"')" 
  Skal stå på en linje? altså i en lang kører!
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
                 Martin (10-11-2008) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  10-11-08 22:01 |  
  |   
             
> > Der manglede lige en enkelt pling '  
 > > strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)"   
 > > & _  
 > > " Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn")   
 > > & _  
 > > "', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon") &   
 > > "')"  
 
 Denne linje er selvfølgelig ikke med
 > > Der manglede lige en enkelt pling '  
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! =>  http://www.html.dk/tutorials
            
             |   |   
            
        
 
            
         
                  Ukendt (10-11-2008) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  10-11-08 22:34 |  
  |   
            
 "Martin" <Martin@pries.dk> skrev i en meddelelse 
 news:4918a101$0$90266$14726298@news.sunsite.dk...
 >
 >> > Der manglede lige en enkelt pling '
 >> > strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, 
 >> > Telefon)"
 >> > & _
 >> > " Values ('" & Request.Form("Fornavn") & "', '" & 
 >> > Request.Form("Efternavn")
 >> > & _
 >> > "', '" & Request.Form("Foedselsdato") & "', '" & 
 >> > Request.Form("Telefon") &
 >> > "')"
 
 Prøv at udskrive din sql...
 
 Sæt disse 2 linjer ind lige efter din strSQL
 Response.Write strSQL
 Response.End
 
 Afprøv så den sætning du får skrevet ud direkte på access databasen...
 
 Bjarne 
 
 
  
            
             |   |   
            
        
 
            
         
                 Jørn Andersen (10-11-2008) 
         
	
            | Kommentar Fra : Jørn Andersen | 
  Dato :  10-11-08 22:29 |  
  |  
 
            On 10 Nov 2008 20:56:50 GMT, Martin <Martin@pries.dk> wrote:
 >du kan selv prøve det på  www.pries-gate.dk/tutorial.asp der kan du prøve at
 >oprette en selv..
 Giver:
 Microsoft VBScript compilation error '800a0400' 
 Expected statement 
 /indsaet.asp, line 10 
 &
 ^
 Det tyder på, at du har problemer med linieskrift i din kode.
 >strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)" 
 >& _ 
 >" Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") 
 >& _ 
 >"', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon") & 
 >"')" 
 Der skal være linieskift efter hver _ - og ingen andre steder.
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato,
 Telefon)" 
 >skal stå på en linje
 Nej. Det skal stå på én linie sammen med:
 & _
 Dette skal stå på samme linie:
 " Values ('" & Request.Form("Fornavn") & "', '" &
 Request.Form("Efternavn") & _ 
 Dette skal stå på samme linie:
 "', '" & Request.Form("Foedselsdato") & "', '" & Request.Form("Telefon")
 & "')"
 Good luck!
 -- 
 Jørn Andersen,
 Brønshøj
            
              |   |   
            
        
 
            
         
           Leif Neland (13-11-2008) 
         
	
            | Kommentar Fra : Leif Neland | 
  Dato :  13-11-08 17:55 |  
  |  
 
            Martin skrev:
 > Jeg er ny i ASP faget. Så undskyld, hvis jeg spørg om noget dumt.
 >   
> 
 > Jeg er ved at lave et system, hvor man kan oprette, slette og
 > opdatere i en database, ved hjælp af Former.
 > 
 > Iøjeblikket er jeg i gang med at lave en opret knap.
 > 
 > 
 Nogen foreslår
 strSQL = "Insert into personer (Fornavn, Efternavn, Foedselsdato, Telefon)"
 "Values ('" & Request.Form("Fornavn") & "', '" & Request.Form("Efternavn") &
 "', '" & Request.Form("Foedselsdato") & "'," & Request.Form("Telefon") & ")"
 Det burde forbydes at lave tutorials, der bygger sql op fra user-input.
 Det er ikke sværere, og mere sikkert (umuligt(?) at lave sql-injects), 
 og ikke nødvendigt med alt det quote-besvær.
 Det er bare en dårlig vane at bygge sql'er på den måde; man kan lige så 
 godt lære at gøre det rigtigt fra starten.
 - - - - - - - -
 'Dette skal gøres een gang, f.ex. i toppen af scriptet
 updateSQL = "INSERT INTO personer (Fornavn, Efternavn, Foedselsdato, 
 Telefon) VALUES (?,?,?,?)"
                                  
 Set objCommand = Server.CreateObject("ADODB.Command")
 objCommand.ActiveConnection = objConn
 objCommand.CommandText = updateSQL
 'Dette kan gøres mange gange i scriptet.
 objCommand.Parameters(0).value = Request.Form("Fornavn")
 objCommand.Parameters(1).value = Request.Form("Efternavn")
 objCommand.Parameters(2).value = Request.Form("Foedselsdato")
 objCommand.Parameters(3).value = Request.Form("Telefon")
 Set objRS = objCommand.Execute()
 - - - - -
 Hvis du har adgang til stored procedures, kan du definere dine 
 procedurer een gang for alle i f.ex. install.asp, der kun skal køres når 
 systemet installeres, eller der bliver rettet i procduren.
 Det kan gøre systemet hurtigere.
 Men det lader jeg være en øvelse for læseren   
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |