webForumDet fria alternativet

Wap mot asp (accessdatabas)

Webbutveckling

9 svar · 373 visningar · startad av Fas

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

Jag är helt ny på allt vad wap/wml har att göra med :( :e
Men jag ska försöka göra en wap-sida där jag vill presentera dem nyaste nyheterna (accessdatabas) på min sida ect. Sidan kör jag via asp.

Vad jag behöver är en blodad tand, någon som vill hjälpa med lite ”startkod”?

Medlem sedan juni 20006 022 inlägg
#2

På min wap-sida använder jag följande kod och det funkar kanon.

<%
Response.ContentType = "text/vnd.wap.wml"
Response.ExpiresAbsolute  = #Jan 1, 2000 00:00:01#
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache,must-revalidate"
Session.LCID = 1053 

Set DB=Server.CreateObject("ADODB.Connection")
path=" DBQ=U:\data\databasen.mdb;PWD=LÖSENORDET"
DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; "&path

SQL = "SELECT * FROM tblNews ORDER BY fldNID DESC"
'response.write SQL
Set wap = DB.Execute(SQL)

nyhet = replace(wap("fldBody"), "<br>", "<br/>",1,-1,1)
%>
<wml>
<card id="index" title="Quake Nexus WAP">
<p align="center">
<img src="logo.wbmp" alt="www.quakenexus.nu"/>
<br/><br/>Vår senaste  nyhet:<br/>
<b><%= wap("fldTitle") %></b> - <small> <%= wap("fldDateTime") %> | <%= wap("fldAuthor") %></small><br/>
<%= nyhet %>
<br/><br/>Wap is the thing that has been pulled over our eyes to blind us for the truth.
</p>
</card>
</wml>

Lycka till...

Medlem sedan okt. 200212 inlägg
#3

Tackar :e

Men kan du säga mig varför detta inte funkar ?

/r ny KOD

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<%
Response.ContentType = "text/vnd.wap.wml"
Response.ExpiresAbsolute  = #Jan 1, 2000 00:00:01#
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache,must-revalidate"
Session.LCID = 1053 

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "test"
Set RS = Connection.Execute(SQL)

nyhet = replace(wap("artikel"), "<br>", "<br/>",1,-1,1)
%>

<wml>
<card id="index" title="Test">
<p align="left">
Nyheter<br/>

<% Do until rs.EOF%>
<%= rs("rubrik") %><br/>
</card>
<%
RS.MoveNext
Loop
rs.Close
Connection.Close
%>

</p>
</card>
</wml>
Medlem sedan mars 20007 896 inlägg
#4

Vad får du för felmeddelande? Är det ASP- eller WML-relaterat fel?

Jag har för mig att följande:

Response.ContentType = "text/vnd.wap.wml"
Response.ExpiresAbsolute  = #Jan 1, 2000 00:00:01#
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache,must-revalidate"

...måste ligga ligga överst i dokumentet, innan någonting skickas till webläsaren - om du inte har den senaste scriptmotorn som alltid ska buffrar dokumenten.

Annars kan det vara följande fel:
- Du har inte deklarerat funktionen/subben wap().
- Din öppning till databasen verkar inte korrekt. Du har bara skrivit "test", antingen måste du koppla mot en DSN ( "DSN=test" har jag för mig ) eller direkt mot databasen.
- Du avslutar taggen '<card>' varje gång loopen körs.

Du bör också radera instanserna av ADODB.Recordset och ADODB.Connection genom att sätta dem till Nothing:

...
rs.Close
Connection.Close
set rs = Nothing
set Connection = Nothing
...
Medlem sedan okt. 200212 inlägg
#5

- Du har inte deklarerat funktionen/subben wap().

Hur menar du?
Jag har ändrat det du har påpekat annars :), men icke vill det funka.

<%
Response.ContentType = "text/vnd.wap.wml"
Response.ExpiresAbsolute  = #Jan 1, 2000 00:00:01#
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache,must-revalidate"
Session.LCID = 1053 
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "dsn=test"
Set RS = Connection.Execute(SQL)
%>

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id="index" title="Test">
<p align="left">
Nyheter<br/>

<% Do until rs.EOF%>
<%= rs("rubrik") %><br/>

<%
RS.MoveNext
Loop
rs.Close
Connection.Close
set rs = Nothing
set Connection = Nothing
%>

</p>
</card>
</wml>
Medlem sedan mars 20007 896 inlägg
#6

Din variabel SQL är inte deklarerad innan du skickar den till Connection.Execute().

Medlem sedan okt. 200212 inlägg
#7

Funkar ändå inte :(

update

<%
Response.ContentType = "text/vnd.wap.wml"
Response.ExpiresAbsolute  = #Jan 1, 2000 00:00:01#
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache,must-revalidate"
Session.LCID = 1053 
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "dsn=test"
[B]SQL = "SELECT Top 1 * FROM nyheter ORDER BY datum DESC"[/B]
Set RS = Connection.Execute(SQL)
%>

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id="index" title="Default">
Nyheter<br/>

<%Do until rs.EOF%>
<p><%= rs("rubrik") %><br/></p>

<%
rs.MoveNext
loop
rs.Close
Connection.Close
set rs = Nothing
set Connection = Nothing
end if
%>

</card>
</wml>

Men ingen förändring, samma problem.

Medlem sedan juni 20006 022 inlägg
#8

du har ju inte talat om vad "test" är något.

Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\sökvägen\databasen.mdb"

Medlem sedan okt. 200212 inlägg
#9

Jag har gjort en system-DSN som heter test som är bunden till databasen :)

Medlem sedan okt. 200212 inlägg
#10

Ibland har man verkligen huvudet under armen :e Jag använde filformatet *.wml, när jag ändrade det till *.asp funkade allt klockrent §e

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)