Hur skriver jag SQL-frågan i Acces för att få ut de tio senaste posterna? Jag har skrivit så här. Det är korrekt syntax. Att du får ut samtliga poster måste i så fall tyda på att du faktiskt inte kör sql-satsen. Finns - .Update funktionen i Access som du kan kalla efter att du tryckt på någon knapp? jag förstår inte riktigt vad du menar, jag skickar med hela koden. Det hjälper inte, Access och ett bestämt antal Records går inte hand i hand..., därför får du ta hand om problemet i ditt UI. En sådan här fråga fungerar alldeles utmärkt i Access 2003De tio sista posterna?
<code>
sqlXML = "SELECT TOP 10 NewsID, Header, ingress, InDate, Writer, Link FROM News ORDER BY InDate DESC"
</code>
Detta vill inte fungera, jag får ut alla poster.Sv: De tio sista posterna?
Sv:De tio sista posterna?
<code>
Imports System
Imports System.Configuration
Imports System.Data
Imports System.Data.OleDb
Imports System.Text
Imports System.Web
Imports System.Xml
Namespace UberAspNet.RSS
Public Class NewsWire
Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Response.Clear()
Response.ContentType = "text/xml"
Dim objX As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
' Declare Elements that will be in the XML file...
objX.WriteStartDocument()
objX.WriteStartElement("rss")
objX.WriteAttributeString("version", "2.0")
objX.WriteStartElement("channel")
objX.WriteElementString("title", "De tre musketörernas RSS-kanal")
objX.WriteElementString("link", "SÖKVÄG")
objX.WriteElementString("description", "Här kan ni följa livet hos tre webbstuderande studenter")
objX.WriteElementString("Copyright", "(c) 2004, All Rights Reserved")
objX.WriteElementString("ttl", "5")
' Declare variables to database connection...
Dim objConXML As New OleDbConnection
Dim sqlXML As String
'Database coonnection...
objConXML = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & (Server.MapPath("news.mdb")))
objConXML.Open()
sqlXML = "SELECT TOP 10 NewsID, Header, ingress, InDate, Writer, Link FROM News ORDER BY InDate DESC"
Dim cmdXML As New OleDbCommand(sqlXML, objConXML)
Dim readXML As OleDbDataReader = cmdXML.ExecuteReader
While readXML.Read
objX.WriteStartElement("item")
objX.WriteElementString("title", readXML.GetString(1))
objX.WriteElementString("description", readXML.GetString(2))
objX.WriteElementString("link", "SÖKVÄG?id=" + readXML.GetInt32(0).ToString())
objX.WriteElementString("pubDate", readXML.GetString(3))
objX.WriteEndElement()
End While
readXML.Close()
objConXML.Close()
objX.WriteEndElement()
objX.WriteEndElement()
objX.WriteEndDocument()
objX.Flush()
objX.Close()
Response.End()
End Sub
End Class
End Namespace
</code>Sv: De tio sista posterna?
Använder du ex.vis datagriden, har den MaxRecords propertyn som man kan sätta. Om inget annat funkar kör du en For Next sats...
Tyvärr, men så illa är det.
Byt till en bättre DB om möjlighet finnes, som MySQL eller SQL Server, båda dem erbjuder LIMIT/TOP kommandotSv:De tio sista posterna?
SELECT TOP 3 id, tidpunkt, Beskr
FROM Tabell1
ORDER BY tidpunkt DESC
//
Janne