Kom ihåg mig?
Home Menu

Menu


problem med asp

 
Ämnesverktyg Visningsalternativ
Oläst 2003-11-21, 15:55 #1
Viktors avatar
Viktor Viktor är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2003
Inlägg: 663
Viktor Viktor är inte uppkopplad
Mycket flitig postare
Viktors avatar
 
Reg.datum: Mar 2003
Inlägg: 663
Sitter och bygger en "webb-butik", något som går mindre bra.

Jag kan inte mycket asp alls men måste få klart allt. (skolarbete)

Vad är fel:

Dim PID
PID = Request("txtPID")

objConn.Execute "DELETE FROM Prod WHERE PID = PID"

Bara utklipp nu alltså, men som ni ser så är det en variabel vid namn PID som ska ta bort en med det nummer som kommer från txtPID. Problemet är att den verkar ta bort alla poster som har ett PID.
Viktor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 16:07 #2
foks foks är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2003
Inlägg: 727
foks foks är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2003
Inlägg: 727
testa med:
objConn.Execute "DELETE FROM Prod WHERE PID = '" & PID & "'"

innan uppfattade databasen det som att om PID=PID så ska raden bort (om PID på den raden är 3 så kollar den om 3 = 3 och tar bort raden).
Med det här fattar databasen att det första PID är kolumnnamnet i databasen och den andra PID är en variabel.
foks är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 16:10 #3
Viktors avatar
Viktor Viktor är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2003
Inlägg: 663
Viktor Viktor är inte uppkopplad
Mycket flitig postare
Viktors avatar
 
Reg.datum: Mar 2003
Inlägg: 663
Hmm han vill inte ändå.

Han får värdet från sidan innan med den här koden:

<input type="text" name="txtPID" maxlength="50" size="40">
Viktor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 16:24 #4
Viktors avatar
Viktor Viktor är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2003
Inlägg: 663
Viktor Viktor är inte uppkopplad
Mycket flitig postare
Viktors avatar
 
Reg.datum: Mar 2003
Inlägg: 663
Postar hela koden istället.

Fil1

<form name="form1" method="post" action="ta_bort_admin2.asp">
<input type="text" name="txtPID" maxlength="50" size="40">
<input type="submit">
</form>


Fil2

<% @LANGUAGE=VBScript %>
<% Option Explicit %>
<!-- #include file="adovbs.inc" -->
<%

Dim PID
PID = Request("txtPID")


'Öppnar en koppling mot databasen
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=lembit"
objConn.Open


'Ta bort

Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "Prod", objConn,adOpenDynamic,adLockOptimistic

objConn.Execute "DELETE FROM Prod WHERE PID = '" & PID & "'"


'Städa upp
objRS.Close
set objRS = Nothing

objConn.Close
set objConn = Nothing


Response.Redirect("lagg_till_admin_klar.html")
%>
Viktor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 16:33 #5
foks foks är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2003
Inlägg: 727
foks foks är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2003
Inlägg: 727
Tar den bort alla där PID har något värde eller tar den inte bort något alls nu?

Där det står:
objConn.Execute "DELETE FROM Prod WHERE PID = '" & PID & "'"
kan du testa att lägga till raden:
response.write "DELETE FROM Prod WHERE PID = '" & PID & "'"
(och ta bort response.redirect i slutet så länge)

Då ser du vad den försöker köra hos databasen. Om det ser rätt ut kan du testa att köra den raden i tex phpMyAdmin om du har det och se vad den säger där.
foks är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 16:47 #6
Viktors avatar
Viktor Viktor är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2003
Inlägg: 663
Viktor Viktor är inte uppkopplad
Mycket flitig postare
Viktors avatar
 
Reg.datum: Mar 2003
Inlägg: 663
Haha nu lägger jag fan ner allt!

En databas.ldb skapas och inget verkar fungera längre.

Feltyp:
Microsoft VBScript runtime (0x800A01FB)
An exception occurred: 'Open'

Fy fan för asp säger jag bara
Viktor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 16:52 #7
Viktors avatar
Viktor Viktor är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2003
Inlägg: 663
Viktor Viktor är inte uppkopplad
Mycket flitig postare
Viktors avatar
 
Reg.datum: Mar 2003
Inlägg: 663
Från fel-sidan:

POST Data:
txtPID=87

Som ni ser i koden så är PID kopplad till txtPID så jag
förstår inte varför han inte bara tar bort skiten.
Har kollat på diverse sidor nu och min "delete-kod" är ju korrekt.
Viktor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 17:13 #8
Thomass avatar
Thomas Thomas är inte uppkopplad
Administratör
 
Reg.datum: May 2003
Inlägg: 3 901
Thomas Thomas är inte uppkopplad
Administratör
Thomass avatar
 
Reg.datum: May 2003
Inlägg: 3 901
Jag är inte haj på asp eller programmering alls men i Perl skulle mjukvaran inte kunna se skillnad på

PID = Request("txtPID")

objConn.Execute "DELETE FROM Prod WHERE PID = PID"

I båda fallen skulle den sätta variabeln.

Kanske objConn.Execute "DELETE FROM Prod WHERE PID == PID"

Skulle funka med == eller asp's grej att skilja på = & ==.

eller förresten ... PID = PID borde ju inte gå ... FormPID = PID.

WN
Thomas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 17:32 #9
Viktors avatar
Viktor Viktor är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2003
Inlägg: 663
Viktor Viktor är inte uppkopplad
Mycket flitig postare
Viktors avatar
 
Reg.datum: Mar 2003
Inlägg: 663
"Data type mismatch in criteria expression."

Vet inte vad det betyder riktigt men kan det inte ha
något med att i forumläret står det typ text och i databasen
är det en räknare?
Viktor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2003-11-21, 18:53 #10
pikkenix pikkenix är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 198
pikkenix pikkenix är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 198
objConn.Execute "DELETE FROM Prod WHERE PID = " & CInt(PID)
pikkenix är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 02:50.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017