Asp.net: Datenbankabfrage - neueste Einträge zuers

Hallo an alle!

Ich bin asp.net Anfänger - das schonmal vorweg. :smile:

Ich möchte ein Gästebuch erstellen, aber gern ohne Gridview, weil ich das individueller finde und gern aus dem Tabellenschema raus möchte. Ich habe als Datenbankverknüpfung also den OleDbDataReader genommen und auch nur bestimmte Spalten ausgelesen.

Hier der Quelltext:

Sub page_load(ByVal Obj As Object, ByVal E As EventArgs)
Dim db As String
db = „Provider=Microsoft.Jet.oledb.4.0; data source=“ & Server.MapPath(„App_Data\gaestebuch.mdb“) & „;“
Dim conn As New OleDbConnection(db)
conn.Open()
Dim sql As String sql = „select * from gaestebuch“ Dim cmd As New OleDbCommand(sql, conn)
Dim myReader As OleDbDataReader
myReader = cmd.ExecuteReader()
Dim sb As New StringBuilder()
'Die Ergebnisse des Reader Objekts manuell verarbeiten
While myReader.Read()
sb.Append(myReader.Item(„Name“))
sb.Append(", Homepage schrieb:
„) sb.Append(myReader.Item(„nachricht“))
sb.Append(“
„)
sb.Append(myReader.Item(„email“))
sb.Append(“ ")
End While
ausgabe.InnerHtml = sb.ToString()
myReader.Close()
conn.Close()
End Sub

Nun zur Frage: Ich möchte gern, dass neue Einträge zuerst angezeigt werden, damit man nicht nach seinem Eintrag suchen und womöglich auf die dritte Seite gehen muss. Ich habe schon ein bisschen mit DataView herumprobiert, schaffe es aber nur diese mit GridView zu verbinden, nicht in dem gewünschten Aufbau…

Ich hoffe, ich habe mich verständlich ausgedrückt und es findet sich jemand, der mir hilft! Ich wäre euch wirklich sehr dankbar!

Viele Grüße und einen schönen Freitag!

Mia

Hallo,

ich bin selbst ein Anfänger und kenne mich mit dem OleDbDataReader nicht aus, aber ich glaube, ich kann dir helfen.
Um den Eintrag mit dem neuesten Datum herauszufiltern legst du einfach eine neue Spalte in deiner Datenbank an. In diese speicherst du bei jedem Eintrag im Gästebuch das aktuelle Datum und die Zeit und vergleichst auf deiner Seite das Datum der Einträge.

Ich weiss nicht genau, ob das in Asp.Net auch funktioniert (ich kann nur Asp) und ob du das gemeint hast. Ich hoffe, ich konnte dir trotzdem weiterhelfen.

Gruss,
Jannik

Hallo,

ich gehe davon aus, dass Du das Datum in der Datenbank in ein DATE-Feld (oder ähnl.) speicherst.

Die Sortierung kannst Du dann bereits in der Abfrage mit

ORDER BY Datum ASC

vornehmen.

Mit ASP.NET kenn ich mich persönlich nicht so aus, jedoch müsste die Klasse „DateTime“ auch dort funktionieren.

Mit

DateTime.Parse()

kann man den gespeicherten Datums-Wert entspr. formatieren, wenn er als String vorliegt.

In jedem Fall, sollte das Dtum in der Datenbank nicht als String gespeichert werden (was gerne gemacht wird).
Das ist zwar einfacher, jedoch nimmt man sich dadurch auch Möglichkeiten.

Grüße