webForumDet fria alternativet
Logga in / Bli medlem

Hur skriver jag i koden?

Databaser & SQL

7 svar · 374 visningar · startad av sanne

Medlem sedan apr. 200531 inlägg
Trådstart#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>
Medlem 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)
Medlem sedan juni 200032 967 inlägg
#3

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

Mvh

Medlem 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)

Medlem 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.

Medlem 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

Medlem sedan juni 200032 967 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.

Medlem sedan apr. 200531 inlägg
#8

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

390 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
129 ms — hämta statistik (db)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)