Avatar billede phuc69 Juniormester
05. februar 2004 - 14:33 Der er 13 kommentarer og
1 løsning

Hvordan skal jeg forsætte

Jeg har følgende 2 asp sider.

Side 1
<form action="indsettest6.asp" method="post">
<input type="text" name="Fornavn">
<input type="text" name="Efternavn">
<input type="submit" value="Gem">
</form>

Side 2
html>
<title>Indsætte data i databasen</title>
<head>
</head>
<body>
<%
' 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("tutorial")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Insert into personer ("
strSQL = strSQL & "Fornavn) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'"
strSQL = strSQL & Request.Form("Fornavn")
strSQL = strSQL & "')"

       
' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
<h1>Databasen er opdateret!</h1>
</body>
</html>

Mit spørgsmål er hvad skal jeg skrive for at få variabelen efternavn ind i min Database også. Ovenstående virker med fornavn. Jeg har prøvet at få det til at virke med efternavn også men det vil den ikke. Hvad skal jeg gøre. Gerne  svar hvor scriptet er kommenteret
Avatar billede squashguy Nybegynder
05. februar 2004 - 14:39 #1
insert into personer(fornavn,efternavn)values('fornavn','efternavn')
Avatar billede phuc69 Juniormester
05. februar 2004 - 14:44 #2
Jeg vil gerne have at der fosættes i den eksisterende syntax. Husk at det skal være variabler fra side 1 der skal indsættes.
Avatar billede fomse Nybegynder
05. februar 2004 - 14:44 #3
SQL = "INSERT INTO personer (Fornavn, Efternavn) VALUES ("& Fornavn &", " & Efternavn & ")" eller noget i den stil.....
Avatar billede nute Nybegynder
05. februar 2004 - 14:45 #4
' SQL sætning opbygges
strSQL = "Insert into personer ("
strSQL = strSQL & "Fornavn,Efternavn) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'"
strSQL = strSQL & Request.Form("Fornavn")
strSQL = strSQL & "','" & Request.Form("Efternavn") & "')"
Avatar billede kovalt Nybegynder
05. februar 2004 - 14:45 #5
Som squasguy skriver så er der ingen grund til at splitte til sql-streng sådan op.

Du kan bare skrive:

INSERT INTO personer (fornavn, efternavn) VALUES ('"& request.form("fornavn") &"', '"& request.form("efternavn") &"')"

Når du sætter data ind i en Access-db, skal der sættes ' rundt om tekst, # rundt om datoer og intet rundt om tal....

Eks:

INSERT INTO test (tekst) VALUES ('"& request.form("tekst") &"')" - indsætter tekst
INSERT INTO test (tal) VALUES ("& request.form("tal") &")" - indsætter tal
INSERT INTO test (dato) VALUES (#"& request.form("dato") &"#)" - indsætter dato

/Kovalt
Avatar billede nute Nybegynder
05. februar 2004 - 14:50 #6
du har jo allerede svaret i din egen kode... det eneste du skal gøre, er at hive værdien fra feltet "efternavn", på den forrige side, ned. Det gør du med 'Request.Form("Efternavn")' (hvis dit felt hedder 'Efternavn' ... hvis det hedder noget andet, skal du skifte 'Efternavn' ud med den værdi der står i 'name' attributten til dit 'efternavn'-felt)

Derefter skal du bare have dette ind i din SQL. Din SQL kan læses sådan:

' Jeg vil sætte noget ind i tabellen 'personer'
strSQL = "Insert into personer ("
' Jeg vil sætte noget ind i kolonnen 'fornavn'
strSQL = strSQL & "Fornavn) "
' her kommer så de værdier jeg skal sætte ind
strSQL = strSQL & "values( "
strSQL = strSQL & "'"
strSQL = strSQL & Request.Form("Fornavn")
strSQL = strSQL & "')"

antallet af 'kolonner' og antallet af 'værdier' du vil sætte ind, skal stemme overens ... dvs, har du 2 'kolonner' i din SQL, så skal der også 2 'værdier' med. kolonnerne separeres med komma ... det samme gør værdierne

håber dette er til at forhøje din forståelse for det du laver. ellers vil jeg anbefale en ASP tutorial ... fx. den der ligger på html.dk:

http://html.dk/tutorials/asp

/nute
Avatar billede nute Nybegynder
05. februar 2004 - 14:54 #7
koval >> det er ingen grund til at splitte strengen, men det er nogle gange godt at gøre det for læsbarhedens skyld. dessuden, så er det ikke formatet på SQL'en der var problemet, men nærmere hvad der skulle gøres for at få efternavn ind. En anden ting er at der bliver bedt om at "der fortsættes i samme syntax", hvilket i mine øjne kan tolkes som at "der skal ikke laves særlig meget om på den kode der er postet ... jeg vil have 'efternavn' med i det samme format som jeg har lavet" - en one-liner af en SQL er *ikke* samme format ;o]

/nute
Avatar billede phuc69 Juniormester
05. februar 2004 - 15:01 #8
Nute smid et svar så jeg kan aceptere det. det var lige det der skulle til. Jeg havde prøvet tutorialen fra html.dk men jeg syntes ikke jeg kunne få det hen. Dit svar ligner meget det jeg selv har forsøgt.
Avatar billede kovalt Nybegynder
05. februar 2004 - 15:12 #9
nute -> inden du nu hidser dig for meget op så syens jeg lige du skal ved at de indlæg omkring at formen skulle være den samme blev postet mens jeg sad og lavede mit indlæg.

Og ja jeg er enig i det kan være godt for læsbarhedens skyld, såfremt det er tale om en længere SQL-sætning. Men i dette tilfælde hvor det vel nærmest er den mindste det kan bliver ser jeg ingen grund.
Avatar billede kovalt Nybegynder
05. februar 2004 - 15:13 #10
nute -> du er sku den type der gør at man ikke gider hjælpe.. utroligt du ikke bare kan se igennem finger med det
Avatar billede nute Nybegynder
06. februar 2004 - 09:43 #11
kovalt >> jeg hidser mig ikke op .. bare rolig. hvis jeg havde gjort dét, så havde du ikke set en smiley i mit indlæg, men masser af "!!!" ... at du så svarede samtidig som når indlægget om at det skulle være i samme form blv postet, er så en fair sag. jeg går ikke til angreb på dig - jeg prøver bare at spidsformulere mig.

jeg bruger mine indlæg på at forklare, og argumentere, noget man kan forvente i et fora som dette.

hvorfor jeg er af den type der gør at man ikke gider hjælpe, vil jeg dog gjerne have en fornuftig forklaring på. hvis du kigger mine indlæg igennem (i alle 2500 spm jeg har svaret på) så kan du se jeg holder mig til at forklare og hjælpe dem der stiller spm. forklaringer er meget bedre svar end kun at poste en løsning.

:-)

/nute
Avatar billede nute Nybegynder
06. februar 2004 - 11:11 #12
og "svar"

:o]
Avatar billede phuc69 Juniormester
06. februar 2004 - 11:51 #13
Jeg kan se at jeg har point ude, Men jeg har da acepteret svaret nute har du fået point.
Avatar billede nute Nybegynder
06. februar 2004 - 12:30 #14
jeg har fået mine points ... takker :o]

du har stadig points ude på grund af den langsomme opdateringsfrekvensen på sitet. de forsvinder hurtig af sig selv :)

/nute
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester