Avatar billede aneez Nybegynder
01. september 2000 - 16:15 Der er 21 kommentarer og
2 løsninger

Hvordan virker ASP og Access sammen?

Kan hvis i kunne give mig et lille link til en side hvor der stod hvordan access virker sammen med ASP. Altså f.eks. en lille trin for trin vejledning.
Avatar billede jersing Nybegynder
01. september 2000 - 16:18 #1
Du kan læse en masse forskellig information på www.netcoders.dk og www.activeserverpages.dk

Især kan følgende artikel anbefales :

http://www.netcoders.dk/articles/database.asp


Mvh.
Morten Nielsen
Jersing A/S
Avatar billede styrmand Nybegynder
01. september 2000 - 16:23 #2
Det fungerer på den måde,at du kan anvende Access, tabeller til at lagre data. Desuden kan du anvende Access´s forespørgsler til at hente data eller redigere data. Endelig giver access dig mulighed for gennem SQL at manipulere data og tabeller.
Du anvender ASP til at danne brugerfladen til din Database. Det vil sige at Access´s formularer, rapporter, Macroer og programmer, kan ikke anvendes til noget.
Du skal selv designe dine formularer og rapporter i HTML, og hente feltinformationer fra Access med ASP.
Hvis du ønsker at tilføje/rette/slette poster i Access, skal du selv bygge disse rutiner.
Access bliver så at sige \"degraderet\" til en simpel datamotor.
Håber det kaster lidt lys over sagen.
Avatar billede aneez Nybegynder
01. september 2000 - 16:26 #3
jeps styrmand... nu er jeg lige blevet lidt klogere men hvordan virker det med komandoer og driver hentning og sådan noget...
læser lige den artikel på netcoders.
Avatar billede styrmand Nybegynder
01. september 2000 - 16:35 #4
Dim conStr
Dim ObjCon
Dim ObjRec
  conStr = \"DRIVER={Microsoft Access Driver (*.mdb)};\"
  \'conStr = conStr & \"DBQ=c:\\inetpub\\wwwroot\\database.mdb\"set ObjCon=server.createObject(\"ADODB.Connection\")
ObjCon.open conStr
Set objRec=Server.createobjec(\"ADODB.Recordset\")
objRec.open \"TabeliDB\",Conn,1,2,3
while not objRec.eof
  response.write(objRec(\"FeltITable\"))
wend
objRec.close
Set objRec=Nothing
Set ObjCon=Nothing

Eksemplet åbner en table i en database og udskriver alle værdierne af feltet FeltITable.

Okay.
Avatar billede styrmand Nybegynder
01. september 2000 - 16:36 #5
der er desværre sneget sig et \' ind før conStr og der mangler et linieskift før set ObjCon=Server.Create...
Avatar billede aneez Nybegynder
01. september 2000 - 16:37 #6
styrmand: OK.

Så vil jeg også gerne lige vide hvordan man kan komme til at tilføje oplysninger til databasen direkte online?
Avatar billede styrmand Nybegynder
01. september 2000 - 16:54 #7
Så må du sgu hoste op med nogle flere points.:-)
Avatar billede aneez Nybegynder
01. september 2000 - 17:08 #8
skal jeg nok.... hvor meget vil du have for at spydte en lille hurtig forklaring til mig ud?
bare sådan redigering via en form
Avatar billede styrmand Nybegynder
01. september 2000 - 17:30 #9
Du skal anvende en HTML formular. Kender du noget til formularens Action og method properties?
Avatar billede aneez Nybegynder
01. september 2000 - 17:34 #10
mener du GET/POST?
Avatar billede styrmand Nybegynder
01. september 2000 - 17:44 #11
Ja.
Trin 1, består i at du opbygger en formular, som har følgende opbygning:
<Form action=\"gem.asp\" Method=\"GET\">
<Input Name=\"Felt1\">
<Input Name=\"Felt2\">
<Input Name=\"Felt3\">
ect.
<Input type=\"Submit\">
</FORM>
Du kan bruge alle typer inputfelter, Tekst, Hidden, Password, Checkbox, Radio m.v. Desuden kan du anvende Select og Textarea.
Action property indeholder navnet på den side, som du ønsker at kalde, når brugeren klikker på Submitknappen. Siden kan angives som i eksemplet, hvis den er placeret samme sted som formfilen. Men du kan også angive en komplet url (http.// o.s.v.

Method kan som du nævner det være get eller post (faktisk er der flere muligheder, men dem kan vi ikke bruge til noget lig nu.)
Get har den betydning, at alle feltnavnene vises i url linien, sammen med brugerens indtastninger, når han klikker på submitknappen. Hvis man anvender post. vises feltnavne og værdier ikke.

Sådan opbygges en formular.
Avatar billede aneez Nybegynder
01. september 2000 - 17:51 #12
hmm. jeg tror altså der skal være en eller anden form for henvisning til min database? hvordan laves denne?
ved at skrive:
Dim conStr
Dim ObjCon
Dim ObjRec
  conStr = \"DRIVER={Microsoft Access Driver (*.mdb)};\"
  \'conStr = conStr & \"DBQ=c:\\inetpub\\wwwroot\\database.mdb\"set ObjCon=server.createObject(\"ADODB.Connection\")
ObjCon.open conStr
Set objRec=Server.createobjec(\"ADODB.Recordset\")
objRec.open \"TabeliDB\",Conn,1,2,3
while not objRec.eof
  response.write(objRec(\"FeltITable\"))
wend
objRec.close
Set objRec=Nothing
Set ObjCon=Nothing

det du skrev før i toppen
Avatar billede aneez Nybegynder
01. september 2000 - 17:51 #13
?
Avatar billede styrmand Nybegynder
01. september 2000 - 17:52 #14
Når brugeren klikker på submitknappen, kaldes dokumentet gem.asp. Dette dokument skal nu indeholde kode som gemmer de indtastede data.

For det første skal man åbne en database. Dette gøres med:
Dim conStr
Dim ObjCon
Dim ObjRec
  conStr = \"DRIVER={Microsoft Access Driver (*.mdb)};\"
  conStr = conStr & \"DBQ=c:\\inetpub\\wwwroot\\database.mdb\"
set ObjCon=server.createObject(\"ADODB.Connection\")
ObjCon.open conStr
Set objRec=Server.createobjec(\"ADODB.Recordset\")
objRec.open \"TabeliDB\",Conn,1,2,2

Herefter skal vi indsætte en ny post.
objrec.addnew
Nu er det muligt at tilskrive felterne i tabellen således.
objRec(\"FeltITabel\")=\'Øl er godt\'
Dette var tilskrivning af en fast værdi. Men du har brug for at lagre det, som brugeren har skrevet i eksempelvis felt1.
Det gøres således:
objRec(\"FeltITabel\")=Request.Querystring(\"Felt1\")
Request.Querystring henter altså værdien fra  Formularfeltet med Nameproperty sat til Felt1.
Hvis du havde brugt Post i din formular skulle du i stedet have brugt Request.Form(\"Felt1\")
(To be continued...)


Avatar billede styrmand Nybegynder
01. september 2000 - 17:56 #15
Endelig skal du sikre dig at den tilskrevne værdi bliver gemt i tabellen. Dette gøres således:
ObjRec.Post
Endelig skal du lukke tabellen:
ObjRec.Close.
Frigive den fra Serverens hukommelse.
Set ObjRec= nothing
Frigiv nu også din connection (Egentlig ikke strengt nødvendig, da det sker automatisk.)
Set objCommand=Nothing
Avatar billede aneez Nybegynder
01. september 2000 - 17:59 #16
OK jeg tror jeg har fået stået det.... jeg vil prøve mig frem ellers skal jeg nok spørge hvis det ikke virker.
Avatar billede aneez Nybegynder
01. september 2000 - 18:33 #17
Af en eller anden grund laver den denne fejl

Error Type:
ADODB.Recordset (0x800A0CB3)
Object or provider is not capable of performing requested operation.
/tilfoj.asp, line 14

og linie i 14 står der
ObjRec.AddNew

Mangler der noget i linien?
Avatar billede styrmand Nybegynder
01. september 2000 - 19:04 #18
Har du tingene liggende lokalt eller på en server?
Avatar billede aneez Nybegynder
01. september 2000 - 19:06 #19
ja... IIS 5
Avatar billede styrmand Nybegynder
01. september 2000 - 19:23 #20
Så kan det være et problem med deling af det bibliotek, som din database ligger i.
Jeg mener faktisk at, der har været et spørgsmål om det samme for en 2-5 dage siden.
Avatar billede aneez Nybegynder
01. september 2000 - 19:26 #21
hmm... kan du ikke lige poste en sp url til det spørsmål så jeg kan læse svaret?
Avatar billede styrmand Nybegynder
01. september 2000 - 19:34 #22
http://www.eksperten.dk/spm/24331
Du har erstattet ordene database.mdb, TabelIDB og FeltITabel, med noget som eksisterer i din database?
Avatar billede aneez Nybegynder
01. september 2000 - 20:01 #23
jo det har jeg gjort
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