Avatar billede dr_marten Nybegynder
04. juni 2004 - 13:17 Der er 11 kommentarer og
1 løsning

opdatering i database med SQL

Jeg er ved at lave et program i VB. Jeg har følgende SQL-sætning, men den virker ikke.
res.Open "UPDATE DVD SET Titel = '" & Text2.Text & "', Genre = '" & Text3.Text & "', Instruktor = '" & Text4.Text & "', Udgivelsesaar = '" & Text5.Text & "', Spilletid = '" & Text6.Text & "' WHERE FilmID LIKE '" & FilmID & "', con, adOpenDynamic"
04. juni 2004 - 13:19 #1
Det hele afhænger nok af de enkelte felters datatype.
prøv med denne, hvis FilmID er nummerisk:

"UPDATE DVD SET Titel = '" & Text2.Text & "', Genre = '" & Text3.Text & "', Instruktor = '" & Text4.Text & "', Udgivelsesaar = '" & Text5.Text & "', Spilletid = '" & Text6.Text & "' WHERE FilmID LIKE " & FilmID
04. juni 2004 - 13:20 #2
Udgivelsesaar kan også være nummerisk:

"UPDATE DVD SET Titel = '" & Text2.Text & "', Genre = '" & Text3.Text & "', Instruktor = '" & Text4.Text & "', Udgivelsesaar = " & Text5.Text & ", Spilletid = '" & Text6.Text & "' WHERE FilmID LIKE " & FilmID
Avatar billede dr_marten Nybegynder
04. juni 2004 - 13:24 #3
der er ingen der virker, både FilmID og Udgivelsesaar er sat til at være tekst i databasen.
Det er i de det er tekstfelterne der er kodet til kun at skrive tal.
Avatar billede Slettet bruger
04. juni 2004 - 13:25 #4
WHERE FilmID LIKE '" & FilmID skal være
WHERE FilmID = '" & FilmID & "'"
eller hvis numerisk som thomasjepsen er  inde på
WHERE FilmID = " & FilmID
04. juni 2004 - 13:26 #5
hvilken fejl får du?
Avatar billede Slettet bruger
04. juni 2004 - 13:26 #6
Hvorfor gør du det ikke bare med en con.execute istedet for?
Jeg ved ikke om man kan lave en .open når det er en update?
04. juni 2004 - 13:29 #7
nå ja...det er selvfølgelig det, som er fejlen (nogle gange stirrer man sig bare blind på noget andet, end det mest åbenlyse ;)

Således burde den så se ud:

con.Execute "UPDATE DVD SET Titel = '" & Text2.Text & "', Genre = '" & Text3.Text & "', Instruktor = '" & Text4.Text & "', Udgivelsesaar = '" & Text5.Text & "', Spilletid = '" & Text6.Text & "' WHERE FilmID = '" & FilmID & "', adcmdtext
Avatar billede dr_marten Nybegynder
04. juni 2004 - 13:40 #8
Avatar billede dr_marten Nybegynder
04. juni 2004 - 13:40 #9
tak for hjælpen...det virker perfekt
04. juni 2004 - 13:42 #10
tak for point...jeg synes nu også at Bertie fortjener en pæn del, da det var ham, som kom på sporet af løsningen.

Bertie, skal jeg oprette et spm, så du kan få ½-delen?
Avatar billede Slettet bruger
04. juni 2004 - 13:46 #11
Ja tak det vil jeg da sætte pris på :-)
04. juni 2004 - 13:48 #12
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