F Fas Medlem sedan okt. 2002 12 inlägg Frågan 5 okt. 2002 17:52 #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”?
Quid Medlem sedan juni 2000 6 022 inlägg 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...
F Fas Medlem sedan okt. 2002 12 inlägg 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>
S SPiN Medlem sedan mars 2000 7 896 inlägg 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
...
F Fas Medlem sedan okt. 2002 12 inlägg
- 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>
S SPiN Medlem sedan mars 2000 7 896 inlägg Din variabel SQL är inte deklarerad innan du skickar den till Connection.Execute().
F Fas Medlem sedan okt. 2002 12 inlägg 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.
Quid Medlem sedan juni 2000 6 022 inlägg 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"
F Fas Medlem sedan okt. 2002 12 inlägg Jag har gjort en system-DSN som heter test som är bunden till databasen :)
F Fas Medlem sedan okt. 2002 12 inlägg Ibland har man verkligen huvudet under armen :e Jag använde filformatet *.wml, när jag ändrade det till *.asp funkade allt klockrent §e