28. september 2002 - 16:20
Der er
28 kommentarer og 1 løsning
Sletning af alt data i en database
Hejsa!! jeg har et lille problem..... Hvordsn sletter man (via SQL sætninger) alt data i en database?? har lavet flgnd.: strSQL = "Delete * from nyheder" <-- Men det virker ikke??? Hvad gør jeg galt
Annonceindlæg fra Computerworld
28. september 2002 - 16:31
#1
den hedder bare "DELETE FROM nyhedder"...
28. september 2002 - 16:32
#2
Jah.... det virker ikke! Har jeg prøvet :P
28. september 2002 - 16:32
#3
Hejsa! Du kan ikke bruge * i en DELETE-statement! Du kan evt. sige: strSQL = "DELETE FROM nyheder WHERE ID > '0'" Det skulle virke! Med venlig hilsen, Thomas Regin.
28. september 2002 - 16:34
#4
Hvor ID naturligvis er din Primær-nøgle/Identity felt. ;) Thomas.
28. september 2002 - 16:36
#5
virker ikke... desværre... Skal der ikke en Loop While Not rs.EOF ????
28. september 2002 - 16:37
#6
eller noget i den stil :P jeg er rimlig newbie....
28. september 2002 - 16:38
#7
Hvis du vil slette alt i tabellen "Nyheder", så ER det: "delete from Nyheder" Men du snakker om at slette alt i en database. Det er jo noget lidt andet
28. september 2002 - 16:39
#8
Jeg skal have slettet alle Columns og Rows inde i databasen! Det er et nyhedsscript hvor jeg skal slette alt...
28. september 2002 - 16:40
#9
Thufir! Lad mig se noget kode! Der skal ikke være et loop for at slette alt, men der skal naturligvis være en funktion, der eksekverer SQL-sætningen! F.eks: strSQL = "DELETE FROM NYHEDER WHERE ID > '0'" myConn.execute(strSQL) Hvis dette ikke virker, så har din database muligvis et problem. Der kan godt opstå nogle problemer ved sletning af meget store databaser på den måde, hvis der skal slettes flere hundrede tusinde records.. Med venlig hilsen, Thomas Regin.
28. september 2002 - 16:43
#10
min kode ser sådan her ud: <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../database/nyheder.mdb") Conn.Open DSN strSQL = "DELETE FROM nyheder WHERE ID > '0'" ' Luk databaseforbindelse Conn.Close Set Conn = Nothing %> MVH Søren Juhl Nielsen (ThuFiR)
28. september 2002 - 16:46
#11
Thufir! Du mangler at eksekvere! <% ' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../database/nyheder.mdb") Conn.Open DSN strSQL = "DELETE FROM nyheder WHERE ID > '0'" Conn.execute(strSQL) ' Luk databaseforbindelse Conn.Close Set Conn = Nothing %> Thomas.
28. september 2002 - 16:48
#12
Virker ikke.... Får en fejl....
28. september 2002 - 16:48
#13
Nu er jeg mere vant til MySQL, men der skal da ikke ' omkring nullet: strSQL = "DELETE FROM nyheder WHERE ID > 0" Har du overhovedet et ID-felt ?
28. september 2002 - 16:49
#14
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket. /admin/start.asp, line 79
28. september 2002 - 16:49
#15
Thufir, Okay.. Så gør som rbl siger, og fjern nullet helt, således at der står: strSQL = "DELETE FROM nyheder" Conn.execute(strSQL) Det er jo ikke sikkert, at du har et ID-felt! ;) Thomas.
28. september 2002 - 16:49
#16
Ja jeg har...... Og det er Primær nøgle!
28. september 2002 - 16:51
#17
SÅ!! nu sker der noget!...
28. september 2002 - 16:52
#18
Well hvad skal man så gøre for at den skriver at der ingen nyheder er....... hehe... er det ikke bare ELSE?
28. september 2002 - 16:53
#19
Hvis jeg kører den fil der viser indholdet.. Så kommer der en fejl om at databasen er tom... Hvordan får jeg den til at skrive at den er tom?
28. september 2002 - 16:54
#20
Thufir, Hvis du skal ha' den til at skrive, at der ingen nyheder er, må du først vælge noget fra databasen: <% 'Find ud af om der er nyheder eller ej. strSQL = "SELECT * FROM Nyheder" set rs = Conn.execute(strSQL) if rs.EOF then Response.WRite "Der er ingen nyheder.. Øv!" Else Response.WRite "Her er nyhederne<br>" do while not rs.EOF Response.WRite rs("Nyhed") rs.Movenext Loop End If %>
28. september 2002 - 16:56
#21
okay!!! hmm jeg ved ikke hvem der skal have poinsne.. :( er har begge to hjulpet.... Jeg synz bare det er thomas der har hjulpet mest...
28. september 2002 - 16:58
#22
<% ' SQL Forespørgsel strSQL = "Select * from nyheder order by id DESC" 'Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL) if rs.EOF then Response.WRite "<a>Der er ingen nyheder.. Øv!</a>" Do Response.Write "<div style=""width:500"">" Response.Write "<hr width=""500""><a>Nyhed nummer: " & rs("ID") & "</a><br>" Response.Write "<br><b><h2> " & rs("navn") & "</h2><b><br>" Response.Write "<a> " & rs("nyhed") & "</a><br><br>" Response.Write "<b><a><i>Oprettet af " & rs("opretter") & "</a><br><hr width=""500"">" Response.Write "</div>" rs.MoveNext Loop While Not rs.EOF %> Det virker ik!
28. september 2002 - 16:59
#23
Thufir, Du mangler et END IF i bunden! /Thomas.
28. september 2002 - 17:00
#24
Og du mangler også ELSE!.. Prøv dette istedet: <% ' SQL Forespørgsel strSQL = "Select * from nyheder order by id DESC" 'Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL) if rs.EOF then Response.WRite "<a>Der er ingen nyheder.. Øv!</a>" Else Do while not rs.EOF Response.Write "<div style=""width:500"">" Response.Write "<hr width=""500""><a>Nyhed nummer: " & rs("ID") & "</a><br>" Response.Write "<br><b><h2> " & rs("navn") & "</h2><b><br>" Response.Write "<a> " & rs("nyhed") & "</a><br><br>" Response.Write "<b><a><i>Oprettet af " & rs("opretter") & "</a><br><hr width=""500"">" Response.Write "</div>" rs.MoveNext Loop End If %>
28. september 2002 - 17:03
#25
Nååh... hehe
28. september 2002 - 17:06
#26
Kører det?
28. september 2002 - 17:06
#27
Jepper!
28. september 2002 - 17:14
#28
Herligt!! :) Tak for pointene! Thomas.
28. september 2002 - 17:18
#29
Bare iorden!
Kurser inden for grundlæggende programmering