/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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

Søg
Reklame
Statistik
Spørgsmål : 177439
Tips : 31962
Nyheder : 719565
Indlæg : 6408063
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste