---
title: "ta bort gamla inlägg"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13932-ta-bort-gamla-inlägg"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "berntg"
published: "2002-01-19T14:09:00.000Z"
updated: "2002-01-21T23:02:00.000Z"
replies: 15
views: 340
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/13932-ta-bort-gamla-inlägg"
---

# ta bort gamla inlägg

## #1 — berntg, 2002-01-19T14:09Z

Jag håller på att göra en dagbok till min klass på hemsidan.
Hur skriver jag för att samtidigt som jag visar poster så tas inlägg som är mer än ex 6 mån gamla bort. Går det?

Permalänk: https://www.webforum.nu/p/13932

## #2 — LarsG, 2002-01-19T17:30Z

Jo

```
connect.execute "delete from guestbook where datediff('m',guestDate,now()) > 6",,128
```

Ovanstående fungerar för Access. Hur datum och tid hanteras skiljer sig mellan olika sqldialekter.

Permalänk: https://www.webforum.nu/p/307839

## #3 — berntg, 2002-01-21T09:33Z

Varför skriver man 128. Vad innebär det?

Permalänk: https://www.webforum.nu/p/307840

## #4 — @nders, 2002-01-21T09:35Z

Det betyder att inget recordset skall returneras. Konstanten kallas adExecuteNoRecords om jag inte minns fel.

Mvh,

Permalänk: https://www.webforum.nu/p/307841

## #5 — Sico, 2002-01-21T14:56Z

såhär hag jag.. e det illa? 

```
<% If Request.QueryString("menu") = "deladmin" Then

	Set RSConn = Server.CreateObject("ADODB.Recordset")

	SQL = "SELECT * FROM t_Administrators Where f_ID=" & Request.QueryString("id")

	RSConn.Open SQL, Connect, 1, 2

	RSConn.Delete
	
	RSConn.Close
```

altså.. bara för att ta bort en post.. inte nåt med datum å sånt.. vill bara veta om koden verkar bra?

Permalänk: https://www.webforum.nu/p/307842

## #6 — LarsG, 2002-01-21T16:11Z

Nja det är inte det mest effektiva, hantering av recordset innebär en hel del databasanrop som är helt onödiga i ditt fall.

```
<% If Request.QueryString("menu") = "deladmin" Then

SQL = "delete FROM t_Administrators Where f_ID=" & Request.QueryString("id")

connect.execute sql,,128
```

Permalänk: https://www.webforum.nu/p/307843

## #7 — Sico, 2002-01-21T19:34Z

Mina kunskaper e dåliga :(
Denna kod har jag för att lägga till en admin. 

```
	Set RSConn = Server.CreateObject("ADODB.Recordset")

	SQL = "SELECT * FROM t_Administrators"

	RSConn.Open SQL, Connect, 1, 2

	RSConn.Addnew
	RSConn("f_User") = Request.Form("txtUser")
	RSConn("f_Password") = Request.Form("txtPassword")
	If Request.Form("txtAdmin") = "on" Then
	RSConn("f_Admin") = "1"
	End if
	RSConn.Update

	RSConn.Close
```

Hmm.. antar att denna kod e lika illa eller?

Permalänk: https://www.webforum.nu/p/307844

## #8 — @nders, 2002-01-21T19:40Z

Ungefär. :)

Den borde se ut så här i stället:

```
if Request.Form("txtAdmin") = "on" then
strSQL = "INSERT INTO t_Administrators (f_User, f_Password, f_admin) VALUES ('" & Request.Form("txtUser") & "', '" & Request.Form("txtPassword") & "', 1)"
Else
strSQL = "INSERT INTO t_Administrators (f_User, f_Password) VALUES ('" & Request.Form("txtUser") & "', '" & Request.Form("txtPassword") & "')"
End if

Connect.Execute strSQL,,128
```

Mvh,

Permalänk: https://www.webforum.nu/p/307845

## #9 — LarsG, 2002-01-21T19:44Z

Ja det är lika mycket overhead, dock så blir koden lite mer komplicerad om man använder SQL

```
txtUser = replace(request.form("txtUser"),"'","''") 
txtPwd = replace(request.form("password"),"'","''") 

SQL = "insert into t_Administrators(f_users,f_password,txt_admin) values('"
sql = sql & txtUser & "','" & txtPwd &"'," 
If Request.Form("txtAdmin") = "on" Then
 sql = sql & "1)"
else
sql = sql & "null)"
End if
connect.execute sql,,128
```

Permalänk: https://www.webforum.nu/p/307846

## #10 — Sico, 2002-01-21T19:47Z

Tycker ändå min kod e mycket lättare att läsa och lättare att modifiera.. vad e skillnaden.. Kräver min kod mer arbete eller?

Permalänk: https://www.webforum.nu/p/307847

## #11 — LarsG, 2002-01-21T19:58Z

> Kräver min kod mer arbete eller?

Jo, din kod innebär att gå över ån efter vatten. För att kunna skapa recordsetet måste ADO fråga databasen hur tabellen är definierad vilket man slipper om man gör en insert direkt. Jaan gjorde en jämförelse av hur mycket anrop det blir från ADO till ODBC (tabell med 4 kolumer)

Med recordset 45 anrop till ODBC
Med insert     3 anrop till ODBC

Den första siffran är propertionell mot antalet kolumner i databasen.

Om man vill slippa att hantera speciella tecken i strängar så är ett alternativ att använda ett kommandoobjekt och dynamiska parametrar i sql-strängen. Det är också fördelaktigt om man vill göra flera insert i samma tabell då man undviker omkompilering av sql-satsen. (I alla fall gäller det de flesta dbms.)

Permalänk: https://www.webforum.nu/p/307848

## #12 — Sico, 2002-01-21T20:59Z

Då e mina koder fel som bara dänn. 

Så här brukarjag skriva när jag infogar från en databas.. 

```
<%
	Set RSConn = Server.CreateObject("ADODB.Recordset")

	SQL = "SELECT * FROM t_Administrators, t_News Where t_News.f_By = t_Administrators.f_ID Order By t_News.f_ID DESC"

	RSConn.Open SQL, Connect, 1, 2

	Do Until RSConn.EOF
%>

.. massa html..

<%= RSConn("f_Text") %>

.. massa html..

<%
RSConn.MoveNext	
Loop
RSConn.Close
Connect.Close
%>
```

då gör jag ju felet igen med ett anrop till ODBC.. 
Hur ska detta vara.. får det inte å funka :/

Permalänk: https://www.webforum.nu/p/307849

## #13 — LarsG, 2002-01-21T21:03Z

Om du hämtar data så måste du alltid använda ett recordset. 
Det som kan snabba upp saker och ting ordentligt är att använda en metod som heter getrows, vilket innebär att man hämtar allt data i ett anrop. 

Om du gör en sökning på getrows i detta forum så finns det en hel del exempel på hur den används.

Permalänk: https://www.webforum.nu/p/307850

## #14 — Sico, 2002-01-21T21:21Z

ok.. tack för hjälpen

Permalänk: https://www.webforum.nu/p/307851

## #15 — Morph, 2002-01-21T22:43Z

> Om man vill slippa att hantera speciella tecken i strängar så är ett alternativ att använda ett kommandoobjekt och dynamiska parametrar i sql-strängen. Det är också fördelaktigt om man vill göra flera insert i samma tabell då man undviker omkompilering av sql-satsen.

Det där lät intressant. Lust att beskriva lite närmare?

Permalänk: https://www.webforum.nu/p/307852

## #16 — LarsG, 2002-01-21T23:02Z

<http://cgi.webforum.nu/wf/Forum11/HTML/007069.html> 

Sista inlägget i den tråden innehåller ett exempel.

Permalänk: https://www.webforum.nu/p/307853

---

Tråden på webben: https://www.webforum.nu/amne/asp/13932-ta-bort-gamla-inlägg
