Avatar billede Slettet bruger
19. august 2004 - 23:28 Der er 15 kommentarer og
1 løsning

formular til indsættelse af data i db

Der skulle vel ikke være nogen der lige har et fungerende eksempel liggende i "skuffen" på en formular der kan indsætte data i en db. Eller rettere på det script som formularen sender de indtastede data til, og som sender brugeren tilbage til siden med formularen.

Det vil også være ok, hvis nogen kan sige, hvad der er i vejen med den kode jeg selv har

Min formular befinder sig i filen conn2.asp, og ser således ud:
-------------------------
<form name="indtastningsformular" method="get" action="indtastside.asp"
Udbyder:
<input type="text" name="udbyder">
<br>
Logon-navn:
<input type="text" name="logonnavn">
<br>
Password:
<input type="text" name="password">
<br>
Kommantar:
<input type="text" name="kommentar">
<br>

<input type="submit" name="Opdater">
</form>
---------------------------------------


Det script jeg har brygget sammen ser således ud:

---------------------------
<%@LANGUAGE="VBSCRIPT"%>



<%
Set adr = Server.CreateObject("ADODB.Recordset")
adr.Open "pwd", database,2,2
%>
<%

pwd.AddNew
    adr("udbyder") = Request.QueryString("udbyder")
    adr("logonnavn") = Request.QueryString("logonnavn")
    adr("password") = Request.QueryString("password")
    adr("kommentar") = Request.QueryString("kommentar")
pwd.Update

Response.Redirect("conn2.asp")

%>
-----------------------------
Desværre virker det ikke.

Databasen hedder adr.mdb og tabellen hedder pwd og indeholder felterne: udbyder, logonnavn, password og kommentar.
Avatar billede eagleeye Praktikant
19. august 2004 - 23:32 #1
Prøv at rette disse linjer:

pwd.AddNew
    adr("udbyder") = Request.QueryString("udbyder")
    adr("logonnavn") = Request.QueryString("logonnavn")
    adr("password") = Request.QueryString("password")
    adr("kommentar") = Request.QueryString("kommentar")
pwd.Update

Til disse så du bruger navnet på recordsetet til at kalde .addnew og .update:

adr.AddNew
    adr("udbyder") = Request.QueryString("udbyder")
    adr("logonnavn") = Request.QueryString("logonnavn")
    adr("password") = Request.QueryString("password")
    adr("kommentar") = Request.QueryString("kommentar")
adr.Update
Avatar billede Slettet bruger
19. august 2004 - 23:42 #2
Jeg får denne fejl:
Fejltype:
ADODB.Recordset (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/asp/adotest/indtastside.asp, line 7

Her er linie 7:
adr.Open "pwd", database,2,2
Er det der fejlen er?
Avatar billede eagleeye Praktikant
19. august 2004 - 23:44 #3
Og du har en connection til din database som hedder database?

Prøv evt med
adr.Open "pwd", database,1,2
Avatar billede eagleeye Praktikant
19. august 2004 - 23:48 #4
Er det du har vist hele koden?
For så manger en connection, du skal prøve at gøre sådan her som dne er lavet skal .asp filen ligge i samme folder adr.mdb filen det mulig du har den i en anden folder men så skal strConn bare rettes så den passer:


<%@LANGUAGE="VBSCRIPT"%>



<%
Set database = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("adr.mdb")
database.Open strConn
Set adr = Server.CreateObject("ADODB.Recordset")
adr.Open "pwd", database,2,2
%>
<%

adr.AddNew
    adr("udbyder") = Request.QueryString("udbyder")
    adr("logonnavn") = Request.QueryString("logonnavn")
    adr("password") = Request.QueryString("password")
    adr("kommentar") = Request.QueryString("kommentar")
adr.Update

Response.Redirect("conn2.asp")

%>
Avatar billede Slettet bruger
19. august 2004 - 23:51 #5
Jeg får den samme fejl.

Der hvor der står "database" i linien: "adr.Open "pwd", database,1,2", er det navnet på databasen der skal stå der?
Avatar billede Slettet bruger
19. august 2004 - 23:53 #6
Her er min forbindelse:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/asp/adr.mdb")
Conn.Open DSN

Den virker ok, da jeg godt kan hente data i databasen og få dem vist.
Avatar billede eagleeye Praktikant
19. august 2004 - 23:55 #7
Ok :)

Men din connection hedder ikke database men Conn så prøv at rette:

adr.Open "pwd", database,2,2

til:

adr.Open "pwd", Conn,2,2
Avatar billede eagleeye Praktikant
19. august 2004 - 23:56 #8
.Open "SQL sætning", Connection til databasen, (kan ikke helt huske denne), LockType
Avatar billede eagleeye Praktikant
19. august 2004 - 23:57 #9
Avatar billede Slettet bruger
20. august 2004 - 00:08 #10
Jeg bliver ved at få en fejl på linie 7: adr.Open "pwd", Conn,2,2
Avatar billede eagleeye Praktikant
20. august 2004 - 00:10 #11
samme fejl?

Prøv:

adr.Open "select * from pwd", Conn,1,2


og du har din connection i koden eller en include fil som er includet?
Avatar billede Slettet bruger
20. august 2004 - 00:15 #12
Jeg har en connection i scriptet i filen conn2.asp. Men skal jeg også have en connection i det andet script; indtastside.asp
Avatar billede eagleeye Praktikant
20. august 2004 - 00:16 #13
Ja det skal du.
Avatar billede Slettet bruger
20. august 2004 - 00:18 #14
Aha!
Skal den se ud som den i det andet script?
Avatar billede eagleeye Praktikant
20. august 2004 - 00:19 #15
Ja på samme måde.
Avatar billede Slettet bruger
20. august 2004 - 00:20 #16
Det skulle den. Det virker. Det kunne den rare mand da godt lige have skrevet i det eksempel jeg brugte som udgangspunkt :-)

Takker mange gange for hjælpen.
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