webForumDet fria alternativet

Kan inte lägga till information!

ASP

12 svar · 247 visningar · startad av sudden

Medlem sedan okt. 2002341 inlägg
Frågan#1

Hejsan!
Jag behöver ett script som lägger till information till en Access databas.
Jag får det aldrig att funka så jag tänkte få det bekräftat om det är min kod det är fel på eller om det är några felaktiga inställningar.
Här är formuläret:

<html>
<body>

<form method="post" action="add.asp">
Namn:
<input type="text" name="fornamn"><br>
Efternamn:
<input type="text" name="efternamn"><br>
<input type="submit" value="Skicka">
</form>

</body>
</html>

Medlem sedan feb. 2002116 inlägg
#2

Skulle underlätta om du visade hur add.asp såg ut.

Medlem sedan feb. 20022 594 inlägg
#3

Den där koden är det inget fel på... Visa gärna ASP-koden också :)

Medlem sedan okt. 2002341 inlägg
#4

Okej =)
Här är den:

<%@Language=VBScript%>
<%Option Explicit%>

<!--#include virtual="/adovbs.inc">

<html>
<body>

<%
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "tblAnvändare", objConn, adLockOptimistic, adCMDTable
objRS.AddNew
objRS("FörNamn") = Request.QueryString("fornamn")
objRs("EfterNamn") = Request.QueryString("efternamn")

objRS.Update
objRSMoveFirst
%>
<B>Uppgifter i en tabell</b>
<P>
<table>
<tr>
<td> Namn </td>
<td> Efternamn </td>

</tr>
<%Do Whlie Not objRS.EOF%>
<tr>
<td><%=objRS("Förnamn")%>,<%=objRS("EfterNamn")%></td>

</tr>

<%
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
</table>

</body>
</html>

Medlem sedan sep. 2002366 inlägg
#5

"tblAnvändare" var inte så definerad där va? ;)

-Eitraz

Medlem sedan feb. 20022 594 inlägg
#6

Hittar ingen connection heller...

Medlem sedan okt. 2002341 inlägg
#7

Nej jag vet att den är lite konstig.
Men kan inte ni fixa till den så att den blir korrekt.
Jag har försökt hur länge som helst med att lägga till uppgifter i en databas, men det har aldrig funkat =(.

Medlem sedan dec. 20002 526 inlägg
#8

fixade sa allt ligger pa add.asp sa det funkar i fler webblasare om nagot gar snett sa ligger infon kvar.... :) Sen kor jag genom sql, genom insert into... battre tycker jag!
Databasen far du lokalisera sjalv!

<%@Language=VBScript%> 
<%Option Explicit%> 

<!--#include virtual="/adovbs.inc"> 

<html> 
<body> 

<% 
If request.form("fornamn") = "" OR request.form("efternamn") = "" then
%>
<form method="post" action="add.asp"> 
Namn: 
<input type="text" name="fornamn"><br> 
Efternamn: 
<input type="text" name="efternamn"><br> 
<input type="submit" value="Skicka"> 
</form> 
<%
else
Dim objRS, objConn 

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("databas.mdb")

sql = "Insert INTO tblAnvändare (FörNamn, EfterNamn) VALUES ('" & request.form("fornamn"), '" & request.form("efternamn") &"')"
set objRS = objConn.Execute(sql)
%> 
<B>Uppgifter i en tabell</b> 
<P> 
<table> 
<tr> 
<td> Namn </td> 
<td> Efternamn </td> 

</tr> 
<%Do Whlie Not objRS.EOF%> 
<tr> 
<td><%=objRS("Förnamn")%>,<%=objRS("EfterNamn")%></td> 
</tr> 
<% 
objRS.MoveNext 
Loop
End IF
objRS.Close 
Set objRS = Nothing 
objConn.Close 
Set objConn = Nothing 
%> 
</table> 
</body> 
</html>
Medlem sedan jan. 2001188 inlägg
#9

En sak har jag undrat, vissa kör med .execute .. jag använder bara typ:
set objRS = server.createobject("ADODB.RecordSet")
objRS.OPEN "Insert into ... ", conn, 3, 1

Vad är skillnaden egentligen, och vad är bäst?

Medlem sedan dec. 200012 464 inlägg
#10

Open behöver bara användas vid select och bara om man vill ha ett recordset som man kan påverka vilka egenskaper det har.

alltså: insert/update/delete

connect.execute sql,,128

select

set rs = connect.execute(sql)

eller

set rs = server.createobject("adodb.recordset")
rs.open sql,connect

I de flesta fall behöver man aldrig använda open, det är bara om man vill ha ett frikopplat recordset eller i vissa situationer när man jobbar med lob (stora objekt).

Medlem sedan jan. 2001188 inlägg
#11

Hmm, ok, tar min version längre tid och mer kraft då? Skulle du rekommendera att jag gjorde med execute istället? Tycker bättre om "mitt" sätt :)

Medlem sedan dec. 200012 464 inlägg
#12

Om du gör insert/update/delete så är det mindre effektivt med din kod.

Medlem sedan jan. 2001188 inlägg
#13

Det var ju jobbigt.. men bra att veta :) Tackar

274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)