webForumDet fria alternativet

Hur skriver jag i koden?

7 svar · 372 visningar · startad av sanne

sanneMedlem sedan apr. 200531 inlägg
#1

Hejsan!
Jag har en sida där olika notiser visas med en rubrik och sen texten till notisen, detta hämtas från en MS SQL DB.
Just nu lagras ju alla notiser i DB, men jag skulle vilja att bara 3 notiser finns i DB och att sen när man skriver in en ny notis så skriver den över en av de gamla.
Hur kan jag lösa det, hur skriver jag det i koden?
mvh Sanne

Så här ser min kod ut nu:

<script runat="server">

    Sub Page_Load(sender As Object, e As EventArgs)
       Dim myConnection As SqlConnection
       Dim myCommand As SqlDataAdapter
       ' Create a connection to the "pubs" SQL database located on the
       ' local computer.
          myConnection = New SqlConnection("server=xxxxx;UID=xxxx;PWD=xxxx;Initial Catalog=xxx;")
       ' Connect to the SQL database using a SQL SELECT query to get all
       ' the data from the "notistabell" table.
       myCommand = New SqlDataAdapter("SELECT * FROM notiser ORDER BY ID Desc", myConnection)
       ' Create and fill a DataSet.
       Dim ds As DataSet = new DataSet()
       myCommand.Fill(ds)
       ' Bind MyDataList to the DataSet. MyDataList is the ID for
       ' the DataList control in the HTML section of the page.
       MyDataList.DataSource = ds
       MyDataList.DataBind()
    End Sub

</script>
LarsGMedlem sedan dec. 200012 464 inlägg
#2

För att hämta de tre som har högst id

SELECT top 3 * FROM notiser ORDER BY ID Desc

För att ta bort

delete from notiser where id not in(
SELECT top 3 id FROM notiser ORDER BY ID Desc)
@ndersMedlem sedan juni 200032 969 inlägg
#3

Och, aningens off topic, på wF använder man inte [code], utan [kod]. :)

Mvh

sanneMedlem sedan apr. 200531 inlägg
#4

Hejsan!
Jag förstår vart jag skall sätta in selectkoden, men vet inte vart jag skall placera deletekoden i min kod ovan?Någon som vet?
Mvh Sanne

delete from notiser where id not in(
SELECT top 3 id FROM notiser ORDER BY ID Desc)

LarsGMedlem sedan dec. 200012 464 inlägg
#5

delete-frågan kan du schedulera med jämna mellanrum. Att alltid försöka ha exakt 3 poster i tabellen är bara en onödig kostnad.

sanneMedlem sedan apr. 200531 inlägg
#6

Är inte så himla bra på det här ännu, så snälla tala gärna om för mig vart jag sätter in den här delete koden i min kod:

delete from notiser where id not in(
SELECT top 3 id FROM notiser ORDER BY ID Desc)

mvh Sanne

@ndersMedlem sedan juni 200032 969 inlägg
#7

Du kan exekvera den SQL-frågan var som helst, på någon sida som körs i din applikation.

Men varför måste du ta bort notiser?
Det känns lämpligast att spara alla, och endast visa de tre senaste.

sanneMedlem sedan apr. 200531 inlägg
#8

Vill bara inte att den skall bli för full.
Mvh Sanne

127 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)