/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
mySQL - Sletning af data
Fra : user@domain.invalid


Dato : 06-04-06 11:15

Hej NG,

Jeg er lige begyndt at bruge mySQL (har før brugt Access).

Mit problem er at jeg ikke kan få lov at slette data i databasen (kun
vha. phpmyadmin. (min database ligger på mit webhotel)

Når jeg gør således:

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open = "Driver={MySQL ODBC 3.51
Driver};SERVER=195.128.174.34;DATABASE=dbname;USER=username;PASSWORD=secret;OPTION=3;"
strSQL = "SELECT * FROM hsh_news WHERE id = '" & Id & "'"
Set rs = objConn.Execute(strSQL)
rs.delete

Får jeg følgende fejl:

ADODB.Recordset error '800a0cb3'
Current Recordset does not support updating. This may be a limitation of
the provider, or of the selected locktype.

Er der mon nogen der ved hvad der kan være galt?

--
Jacob

 
 
Kim Andersen (06-04-2006)
Kommentar
Fra : Kim Andersen


Dato : 06-04-06 15:45

> Set objConn = Server.CreateObject("ADODB.Connection")
> objConn.Open = "Driver={MySQL ODBC 3.51
> Driver};SERVER=195.128.174.34;DATABASE=dbname;USER=username;PASSWORD=secret;OPTION=3;"
> strSQL = "SELECT * FROM hsh_news WHERE id = '" & Id & "'"
> Set rs = objConn.Execute(strSQL)
> rs.delete
>
> Får jeg følgende fejl:
>
> ADODB.Recordset error '800a0cb3'
> Current Recordset does not support updating. This may be a limitation of
> the provider, or of the selected locktype.
>
> Er der mon nogen der ved hvad der kan være galt?
>

Det er ikke sikker at ODBC driver til MySQL understøtter dette. Men mest
korrekte måde må være at bruge

strSQL = "DELETE FROM hsh_news WHERE id ='" & Id & "'"
objConn.Execute(strSQL)

Du for ingen resultat tilbage.

/Kim



Jacob Culmsee (07-04-2006)
Kommentar
Fra : Jacob Culmsee


Dato : 07-04-06 10:25

Kim Andersen wrote:

> Det er ikke sikker at ODBC driver til MySQL understøtter dette. Men mest
> korrekte måde må være at bruge
>
> strSQL = "DELETE FROM hsh_news WHERE id ='" & Id & "'"
> objConn.Execute(strSQL)

Det er da bare noget der virker!
Jeg havde faktisk prøvet ovenstående. Men havde ikke syntaksen rigtig:
"DELETE * FROM hsh_news WHERE id ='" & Id & "'"

Tak for hjælpen.

--
Jacob

Jens Gyldenkærne Cla~ (07-04-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-04-06 10:34

Jacob Culmsee skrev:

>> strSQL = "DELETE FROM hsh_news WHERE id ='" & Id & "'"
>> objConn.Execute(strSQL)

> Det er da bare noget der virker!
> Jeg havde faktisk prøvet ovenstående. Men havde ikke syntaksen
> rigtig: "DELETE * FROM hsh_news WHERE id ='" & Id & "'"

Du har måske arbejdet med Access før - her virker DELETE både med
og uden stjerne.
Standarden har ikke stjerne i en DELETE-sætning - hvad der også er
logisk nok; man kan ikke slette en del af en post, derfor er der
ingen grund til at bruge en feltangivelse (som *) i en DELETE-
sætning.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408173
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste