Avatar billede steen_hansen Forsker
11. november 2006 - 21:21 Der er 10 kommentarer og
1 løsning

Kan ikke gemme, hvor hopper kæden af?

Jeg skal ganske simpelt gemme fra formularen, hvor Request.Querystring("myID") matcher myID i databasen. Jeg kan IKKE få det til at spille - overhovedet.


Dim vID, xID

vID = Request.QueryString("catID")
vID = Int(vID)

xID = Request.Querystring("myID")
xID = Int(xID)

If Not IsNumeric(vID) Then _
    Response.Redirect "/error.asp?msg=Linket+findes+ikke"

If Request.Form("mode") = "edit" Then

    Dim vA
    If Request.Form("xA") = "on" Then
        vA = 1
    Else
        vA = 0
    End If

strSQL = "UPDATE links SET catID='" & Trim(SQLEncode(Request.Form("catID"))) & "', name='" & Trim(SQLEncode(Request.Form("name"))) & "', vHeadline='" & Trim(SQLEncode(Request.Form("vHeadline"))) & "', vText='" & Trim(SQLEncode(Request.Form("vText"))) & "', vSource='" & Trim(SQLEncode(Request.Form("vSource"))) & "', vWidth='" & Trim(SQLEncode(Request.Form("vWidth"))) & "', vHeight='" & Trim(SQLEncode(Request.Form("vHeight"))) & "', vA='" & vA & "' WHERE myID=" & xID '<------- Jeg kan ikke få denne rigtig
Conn.Execute strSQL
Conn.Close

Response.Redirect "/editlink.asp?msg=Linket+er+blevet+rettet."



Jeg skal lige nævne, at jeg har kørt rundt i strengvariabler/integer. Og jeg har kørt meget rundt i det. Kan overhovedet ikke overskue det. Håber du kan :o)
Avatar billede ffsoft Praktikant
11. november 2006 - 21:47 #1
Du skal bruge Cint() når du laver en streng om til en
integer.

vID = CInt(vID)
Avatar billede steen_hansen Forsker
11. november 2006 - 22:13 #2
Det har jeg så også prøvet, men uden resultat. Jeg har selv en teori om, at det går galt flere steder, prøver lige at hive mere kode ud ...
Avatar billede ffsoft Praktikant
11. november 2006 - 23:02 #3
Systematisk fejlfinding!! Hvad indeholder variablerne

var1 = Trim(SQLEncode(Request.Form("catID")))
response.write "var1: " & var1 & "<br>"
var2 = Trim(SQLEncode(Request.Form("vHeadline")))
response.write "var2: " & var2 & "<br>"

og så hele SQL udtrykket:
strSQL = "UPDATE links SET catID='" & Trim(SQLEncode(Request.Form("catID"))) & "', name='" & Trim(SQLEncode(Request.Form("name"))) & "', vHeadline='" & Trim(SQLEncode(Request.Form("vHeadline"))) & "', vText='" & Trim(SQLEncode(Request.Form("vText"))) & "', vSource='" & Trim(SQLEncode(Request.Form("vSource"))) & "', vWidth='" & Trim(SQLEncode(Request.Form("vWidth"))) & "', vHeight='" & Trim(SQLEncode(Request.Form("vHeight"))) & "', vA='" & vA & "' WHERE myID=" & xID
response.write "SQL: " & strSQL & "<br>"

så bør du kunne få øje på noget. Hvad er DQLencode for en ting ??
Avatar billede ffsoft Praktikant
11. november 2006 - 23:03 #4
DQLencode = SQLencode. (det er ved at være sent)
Avatar billede ffsoft Praktikant
11. november 2006 - 23:04 #5
Hvilken en database er der tale om ?? Access/MSSQL/mySQL ??
Avatar billede steen_hansen Forsker
11. november 2006 - 23:16 #6
var1 og var2 skrives fint ud, men ikke strSQL. Jeg får denne fejl:

[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

editlink.asp, line 40

Linie 40: Conn.Execute strSQL
Avatar billede steen_hansen Forsker
11. november 2006 - 23:16 #7
Og det er MySQL
Avatar billede ffsoft Praktikant
12. november 2006 - 13:13 #8
Er CatID feltet af typen tekst, ellers skal der ikke plinger på:

... catID=" & Trim(SQLEncode(Request.Form("catID"))) & ", name...

Du kan udkommentere linie 40, så skal du få strSQL med alle variabler
på skærmen. Dette udtryk kan du så kopiere ind i en tesktfil og teste
denne mod mySql i phpMyAdmin, eller hvad du nu har adgang til.
Avatar billede steen_hansen Forsker
12. november 2006 - 17:51 #9
ffsoft, jeg har lært en del af dine indlæg. Den side, jeg var igang med, var en slags øvelse til en mere seriøs side. Hvis jeg får problemer med den, vender jeg tilbage. Smid et svar :o)
Avatar billede ffsoft Praktikant
12. november 2006 - 18:48 #10
Et svar. :0)
Avatar billede steen_hansen Forsker
12. november 2006 - 19:30 #11
Takker for hjælpen :o)
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