Avatar billede master_orion Nybegynder
29. august 2002 - 22:21 Der er 19 kommentarer og
1 løsning

fejlfinding i aspkode/sql sætning..!

Hej, nu har jeg siddet og kigget på det åndsvage lille stykke ASP kode alt for længe og kan bare ikke få det til at virke..! Hvorfor??? hjælp..!

Jeg har en form med et felt her:
<input type="hidden" name="notat_ID" VALUE="<%= notater("ID")%>">
Og det stykke virker fint, jeg modtager det rigtige notat_id på næste side som du kan se alt koden til her:

<!-- #include virtual="/inc/cheklogin.asp" -->
<!-- #include virtual="/inc/dbconn.asp" -->


<%
Dim notat_id
notat_id = (Request("notat_id"))

response.write notat_id

strSQL = "Delete from notes where ID = notat_id "
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

'response.redirect "visnotat.asp"
%>

Som I kan se er der 2 include filer og de virker begge fint. Database forbindelsen er der heller ikke noget galt med. For hvis notat id'et jeg sender er fx 23 og jeg så skriver 23 istedet for notat_id så virker det fint med at denne post i db'en bliver slettet.

Jeg tror mit problem ligger i at det data jeg poster fra en side til denne her, ender op med at være en tekst streng men det skulle nok gerne være en nummeric streng jeg skulle sætte ind i min SQL sætning. Dette her jeg haft lidt gang i at prøve men har heller ik' virket jeg brugte funktionen Cint, men det lykkes mig som sagt ikke.. Håber der er en som kan komme med guldkornet og rede min dag.. :)
Avatar billede eagleeye Praktikant
29. august 2002 - 22:24 #1
notat_ID er en variable så den skal ligges til stregne med & eller tror den at ID skal være lig med notal_ID som kolonne navn.

Prøv med denne SQL:

strSQL = "Delete from notes where ID = " & notat_id
Avatar billede in2designs Nybegynder
29. august 2002 - 22:29 #2
'response.redirect "visnotat.asp"
%>


hmm. skulle det ikke så sådan her ud

response.redirect "visnotat.asp"
%>

Uden '
Avatar billede in2designs Nybegynder
29. august 2002 - 22:30 #3
:) DET ER MÅSKE DET DER ER DIN FEJL
Avatar billede master_orion Nybegynder
29. august 2002 - 22:33 #4
Nej, virker stadig ikke..! desværre.!
Avatar billede in2designs Nybegynder
29. august 2002 - 22:34 #5
Response.Write & "notat_id" &
måske ??
Avatar billede eagleeye Praktikant
29. august 2002 - 22:34 #6
udskriver den det rigtige id? Når du udskrive med:

response.write notat_id
Avatar billede master_orion Nybegynder
29. august 2002 - 22:34 #7
in2designs << nej, det er alligevel ikke min fejl..! jeg har udelukket den af min kode for at jeg vil blive på den side ind til jeg har fået det hele til at virke.. :)
Avatar billede master_orion Nybegynder
29. august 2002 - 22:36 #8
eagleeye  jeps.. :) og det er det der får mig til at tænke på om det ikke er en tekst streng jeg sidder og leger med..! og at den skal laves om til tal, for det er den key som bliver autogenereret i db'en at jeg sammen ligner den med.!
Avatar billede eagleeye Praktikant
29. august 2002 - 22:38 #9
Nej det skulle ikke være nødvendig. For man opbygger en SQL streng. Kan du prøve at udskrive strSQL for at se om SQL sætningen er rigtig:

strSQL = "Delete from notes where ID = " & notat_id
Response.write strSQL
Avatar billede eagleeye Praktikant
29. august 2002 - 22:40 #10
Autonummer skulle gerne svare til tal.. Hvilken database bruger du?
Avatar billede master_orion Nybegynder
29. august 2002 - 22:43 #11
Ja prøvede lige som du sage egleeye og det var ikke et godt resultat..!
39

Delete from notes where ID = & notat_id
Hvor notat id'et er 39.
Min kode så sådan ud:
<!-- #include virtual="/inc/cheklogin.asp" -->
<!-- #include virtual="/inc/dbconn.asp" -->


<%
Dim notat_id
notat_id = Request("notat_id")

response.write notat_id

%>
<br>
<br>
<%

strSQL = "Delete from notes where ID = & notat_id "
Response.write strSQL

'Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

'response.redirect "visnotat.asp"
%>
Avatar billede master_orion Nybegynder
29. august 2002 - 22:44 #12
Jeg bruger en Access 2002 db
Avatar billede eagleeye Praktikant
29. august 2002 - 22:44 #13
Du har også sat min SQL forkert ind... Du har stadig notal_id stående inde i strengen men det skal ligges til som en variable sådan her:

strSQL = "Delete from notes where ID = " & notat_id
Avatar billede eagleeye Praktikant
29. august 2002 - 22:46 #14
lille eks, hvis man har to variable var1 og var2:

var1 = "hej"
var2 = " med dig"

Hvis du skriver:
Response.write "var1 & var2"
kommer det til at stå: var1 & var2  i browseren

Hvis du skriver:
Response.write var1 & var2
kommer det til at stå: hej med dig  i browseren
Avatar billede master_orion Nybegynder
29. august 2002 - 22:48 #15
Error Type:
Microsoft VBScript compilation (0x800A0401)
Expected end of statement
/sletnotat.asp, line 16, column 41
strSQL = "Delete from notes where ID = " notat_id
----------------------------------------^

Stadig intet resultat..! ud over at den giver fejl nu..!
Avatar billede eagleeye Praktikant
29. august 2002 - 22:49 #16
Der skal være et & mellem ... ID = " og notal_id:

strSQL = "Delete from notes where ID = " & notat_id
Avatar billede master_orion Nybegynder
29. august 2002 - 22:49 #17
Men det giver jo heller ingen mening at det som id'et skal være = skal stå uden for SQL sætningen da det er SQL sætningen som udføre opgaven at sammenligne de 2 ting..!
Avatar billede master_orion Nybegynder
29. august 2002 - 22:51 #18
Du er en Gud eagleeye..! Det virker nu.. jeg skal bare lige lære at se efter når der er nogle der skriver et svar til mig.. :)
Avatar billede in2designs Nybegynder
29. august 2002 - 22:52 #19
cool :)
Avatar billede eagleeye Praktikant
29. august 2002 - 22:52 #20
& betyder at indholdet af den efter følgende variable bliver lagt ind i strengen som står foran den..:

Hvis notat_id er lig med 22
notat_id = 22
strSQL = "Delete from notes where ID = " & notat_id

Det betyder at 22 bliver lagt ind efter  = mellemrum så strSQL ser sådan ud:

Delete from notes where ID = 22
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester