Avatar billede trekkies Juniormester
15. november 2005 - 22:39 Der er 10 kommentarer og
1 løsning

Problemer med update af database og upload af fil

Jeg har et problem med at uploade et billed og updatere filen i databasen, jeg får denne fejl:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
/darkskies/paaj/ret_gem.asp, line 29

På linie 29 er denne sætning:
SQL = "UPDATE tekst SET filname='" & mySmartUpload.Files("filename").Filename & "', tekst='" & mySmartUpload.Form("tekst") & "', mappe='" & mySmartUpload.Form("mappe") & "' WHERE ID=" & Session("id")

Jeg har prøvet med Request.Querystring, men der får jeg denne samme fejl.

Kan I se en fejl i SQL sætningen?
Avatar billede softspot Forsker
15. november 2005 - 22:41 #1
Det lyder som om du har stavet et af kolonnenavnene forkert (kan det være filname, der skulle være filnavn - når du de andre felter er på dansk?)...
Avatar billede trekkies Juniormester
15. november 2005 - 22:44 #2
Nej, jeg kan godt gemme oplysningerne, men når at jeg skal updatere databasen med et nyt billed eller en ny tekst, får får jeg fejlen.

Ved godt det med engelsk og danske navne, men kunne ikke komme på noget andet på det tidspunkt :)
Avatar billede softspot Forsker
15. november 2005 - 22:57 #3
Nu skriver du godt nok at linie 29 er den sql-sætning, men det lyder mærkeligt at der skulle komme sådan en fejl i det du opbygger en streng (som databasen i princippet jo ikke har noget som helst med at gøre på det tidspunkt den bliver bygget), så derfor antager jeg du mener, at det er den sql-streng der bliver benyttet til at kalde databasen med... (eller er det en overfortolkning?)

Jeg fortsætter lige min spørgerække baseret på ovenstående antagelse:

1. Har du prøve at skrive sql-sætningen ud inden du kalder databasen, så du kan se om der skulle være nogle åbenlyse fejl i den (f.eks. et ID der mangler)?

2. Har du sikret dig at alle felter tillader tomme strenge?

3. Har du sikret dig at alle kolonnetyperne stemmer overens med dem du angiver i sql-sætningen?

4. Har du sikret dig at din connectionstring passer sammen med databasens version?
Avatar billede trekkies Juniormester
15. november 2005 - 23:08 #4
Ok, kom til at skrive forkert, på linie 29 er:
Conn.Execute(SQL)

1.
Hvis jeg udskriver SQL sætningen, får jeg denne besked:
UPDATE tekst SET filname='stamme.jpg', tekst='Stammer', mappe='Andet' WHERE ID=46
eller som billed:
http://www.darkskies.dk/exp_billeder/meddelse.jpg

2.
Ja det er de alle sat til.

3.
Ja, "id er Autonummerering" og "de andre er Notat"

4.
Det er den samme version har jeg kørt med på alle mine sider.


Jeg kan godt gemme på maskinen og i databasen, men lige så snart at jeg skal updatere i databasen går det galt.
Avatar billede softspot Forsker
15. november 2005 - 23:14 #5
Ja, det med linienummeret havde jeg en idé om nok var en lille "tællefejl" ;-)

Når du siger at du kan gemme på maskinen og i databasen, hvad mener du så helt præcis...? Hvis det er insert into der fungerer, så kunne det da være interessant at se den sql-sætning hvor du sætter insert into sammen...

En anden ting jeg har studset over er at du benytter tekst både til tabelnavn og kolonnenavn... det ville jeg til hver en tid IKKE anbefale nogen at gøre - det er en af de der ting der potentielt giver anledning til problemer... :)
Avatar billede trekkies Juniormester
15. november 2005 - 23:22 #6
Ja, INSERT INTO virker fint.

Her er INSERT INTO sætningen:
SQL = "INSERT INTO tekst(filename, tekst, mappe)"
    SQL = SQL & "VALUES ('" & mySmartUpload.Files("filename").Filename & "', '" & mySmartUpload.Form("tekst") & "', '" & mySmartUpload.Form("mappe") & "')"

Det med at jeg bruger "tekst" til både tabelnavn og kolonnenavn er fordi at det er noget som jeg skal bygge videre på senere, det er kun indtil at det er gennem testet for alle mulige fejl.
Jeg plejer at bruge engelske navne.
Avatar billede softspot Forsker
15. november 2005 - 23:24 #7
AHA! så hedder det faktisk ikke filname men filename, som jeg var lidt ude efter... :)
Avatar billede trekkies Juniormester
15. november 2005 - 23:31 #8
Mange tak for hjælpen, hvis du vil være så venlig at lægge et svar, så kan du få dine point.

Jeg må være mere træt end jeg troede, det er nok på tide at komme i seng :)
Avatar billede softspot Forsker
15. november 2005 - 23:33 #9
Ja, sådan er det jo når man sidder for længe og kigger på kode... velbekomme og godnat :)
Avatar billede softspot Forsker
15. november 2005 - 23:37 #10
Tak for point :)
Avatar billede karstenl Nybegynder
16. november 2005 - 04:21 #11
softspot
----------
Gider du evt. tjekke dette spm. :)
http://exp.dk/spm/664794
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