Avatar billede krisbjoern Nybegynder
30. april 2003 - 01:44 Der er 7 kommentarer og
2 løsninger

aspSmartUpload og OPDATERING af eksisterende post i DB...

Jeg har lavet denne hersens Upload ting med aspSmartUpload komponenten.

Selve Upload-funktionen med GEM i database virker fint.
Men når jeg så vil lave en RETTELSE i en eksisterende post får jeg den ene fejlmeddelelse efter den anden.

Den ka' skisme da ikke passe at man ikke kan det???

Fejlmeddelelsesen lyder som følger:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

Og min kode ser ud som følger:
'  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload
  If mySmartUpload.Files.Item(1).FileName <> "" Then
  mySmartUpload.Save("../../../db/Billeder")
  End If

' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../../db/FabK.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

'Tilføjer brugeren til databasen
If mySmartUpload.Files.Item(1).FileName <> "" Then
    strSQL = "UPDATE Tab_Nyhed SET Fld_DK-Overskrift='" & mySmartUpload.Form("HeadLineDK") & "', "&_
    "Fld_GB-Overskrift='" & mySmartUpload.Form("HeadLineGB") & "', "&_
    "Fld_DK-Nyhed='" & mySmartUpload.Form("BroedDK") & "', "&_
    "Fld_GB-Nyhed='" & mySmartUpload.Form("BroedGB") & "', "&_
    "Fld_Dato='" & mySmartUpload.Form("Dato") & "', "&_
    "Fld_Artist='" & mySmartUpload.Form("Artist") & "', "&_
    "Fld_IMG='" & mySmartUpload.Files.Item(1).FileName & "' WHERE ID=" & request.QueryString("NyhedID")
    Conn.Execute(strSQL)
   
Else
    Response.Write(mySmartUpload.Form("HeadLineDK") & "<BR><BR>")
    Response.Write(mySmartUpload.Form("HeadLineGB") & "<BR><BR>")
    Response.Write(mySmartUpload.Form("BroedDK") & "<BR><BR>")
    Response.Write(mySmartUpload.Form("BroedGB") & "<BR><BR>")
    Response.Write(mySmartUpload.Form("Dato") & "<BR><BR>")
    Response.Write(mySmartUpload.Form("Artist") & "<BR><BR>")
    Response.Write(request.QueryString("NyhedID") & "<BR><BR>")
   
   
    strSQL = "update Tab_Nyhed set Fld_DK-Overskrift = 'TEST' where ID = 3"

    'strSQL = "UPDATE Tab_Nyhed SET Fld_DK-Overskrift='" & mySmartUpload.Form("HeadLineDK") & "', Fld_GB-Overskrift='" & mySmartUpload.Form("HeadLineGB") & "', Fld_DK-Nyhed='" & mySmartUpload.Form("BroedDK") & "', Fld_GB-Nyhed='" & mySmartUpload.Form("BroedGB") & "', Fld_Dato='" & mySmartUpload.Form("Dato") & "', Fld_Artist='" & mySmartUpload.Form("Artist") & "' WHERE ID='" & request.QueryString("NyhedID") & "'"
    Conn.Execute(strSQL)
   
End If


Hvis jeg f.eks prøver en anden SQL-sætning som SELECT kan jeg sagtens lave udtræk med ovenstående kode(modificeret til SELECT selvfølgelig)

Kan nogen løse dette p.... irriterende UPDATE problem

Venlig Hilsen
Kristian Bjørn
Avatar billede dk_akj Nybegynder
30. april 2003 - 07:18 #1
prøv lige at sætte Fld_DK-Overskrift i [] altså [Fld_DK-Overskrift]
Det er et underligt feltnavn du har valgt dig der :-)

//akj
Avatar billede cesil Nybegynder
30. april 2003 - 08:44 #2
omdøb Fld_DK-Overskrift  til fx at hedde FldDKOverskrift.
Avatar billede eagleeye Praktikant
30. april 2003 - 09:27 #3
Du bør ungå + - melllemrum * / smat andre tegn i tabel og kolonnenavne. Som hovedregl bør man kun bruge bogstaverne a-z, tallene 0-9 samt _

Du kan godt bruge navnene selvom der er ulovlige karakter i som dk_akj skriver ved at sætte [] omkring navnet.
Avatar billede krisbjoern Nybegynder
30. april 2003 - 11:18 #4
==> eagleeye
Du skal lige smide et svar hvis du vil have lidt point for fyldestgørende forklaring.
Jeg er ny med aspSmartUpload, og har ALDRIG før haft problemmer med "_" i mine kolonne-navne i mine tabeller.
Men tak for rådet - jeg går altid ind for god programmeingsskik ;o)

Venligst
Kristian Bjørn
Avatar billede krisbjoern Nybegynder
30. april 2003 - 11:20 #5
dk_akj's svar løser problemmet.
Avatar billede dk_akj Nybegynder
30. april 2003 - 13:35 #6
krisbjørn >> det er ikke _ som giver problemmet, det er, som eagleeye skriver - (bindestreg) den forveksler databasen med et - (minus). Hvilket nok er meget forståeligt.

//akj
Avatar billede krisbjoern Nybegynder
30. april 2003 - 13:57 #7
OKAY...
Cool - Så gi'r det hele jo meget mere mening.
Jeg plejer nemlig IKKE at bruge minus(eller bindestreg)

Thanx again
Kristian Bjørn

PS
Jeg afventer lieg et evt. svar fra eagleeye mht. pointfordeling
Avatar billede eagleeye Praktikant
30. april 2003 - 16:41 #8
ok så får du lige et svar fra mig ;)
Avatar billede krisbjoern Nybegynder
30. april 2003 - 16:46 #9
Tak for hjælpen

Jeg fordeler pointene således:
100 til dk_akj
50 til eagleeye

håber det er cool med Jer
Fortsat god dag ;o)

Venligst
Kristian Bjørn
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