webForumDet fria alternativet

strul med Delete Between olika datum, SQL2000

Databaser & SQL

7 svar · 339 visningar · startad av G8

Medlem sedan jan. 20011 213 inlägg
Frågan#1

varför funkar inte

Connection.Execute("DELETE FROM Visitors WHERE visitordate BETWEEN '"&startdate&"' AND '"&enddate&"'"),,128

?

Vill alltså ha bort alla records mellan valda datum

//G8

Medlem sedan juni 200032 967 inlägg
#2

Vad innehåller startdate och enddate?
På vilket sätt funkar det inte?

Medlem sedan jan. 20011 213 inlägg
#3

startdate: 5/17/2005 00:00:00
enddate: 5/17/2005 23:59:59

får inget felmeddelande, men den stoppar på connection.execute... fel nånstans måste det vara

Medlem sedan jan. 20011 213 inlägg
#4

Hmm, det funkar nu av någon anledning...

Vet inte riktigt varför det inte funkade innan...

Följdfråga, hur ska man göra för att ta reda på hur många records som raderas (nån count av nått slag), och om det inte finns några records som matchar datumen, visa ett felmeddelande?

//G8

Medlem sedan juni 200032 967 inlägg
#5
Connection.Execute("DELETE FROM Visitors WHERE visitordate BETWEEN '"&startdate&"' AND '"&enddate&"'"),[b]rows[/b],128
if rows = 0 then response.write "inget att radera"
Medlem sedan jan. 20011 213 inlägg
#6

Funkar fin fint,

en liten estetisk sak bara, rows returneras som '23' om man skriver ut värdet, finns det nått sätt att ta bort fnuttarna?

Testade med Cint(rows) men fick samma resultat...

Medlem sedan juni 200032 967 inlägg
#7

Hmm, det är konstigt. Det ska inte vara några apostrofer där. Gör du Cint() på något som innehåller apostrofer ska du få ett felmeddelande.

Hur ser din kod ut nu?

Medlem sedan jan. 20011 213 inlägg
#8

äh, det är jag som inte är med riktigt,

skrev ut det så här, '"&rows&"', istället för "&rows&"...

Tack snabeln, du rular!

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)