03. september 2004 - 16:38
Der er
29 kommentarer og 2 løsninger
SQL - INSERT INTO til UPDATE how ?
Her er min INSERT INTO sætning vil gerne ha den skal updatere istedet ? :s SQL = "INSERT INTO fish_info(art, engelsknavn, Synonym, variant, fangststed, slægt, Dansknavn, pH, Familie, Land, opdager, op-år, dk-opdraet, dk-opdraet-år, dh-kh, strørrelse, vandtype, foder, temp, kønsforskel, opdræt, opdrættet, note, billede1_text, billede2_text, billede1, billede2 ) VALUES ('" & txt_art.Text & "', '" & txt_uknavn.Text & "', '" & txt_synonym.Text & "', '" & txt_variant.Text & "', '" & txt_fangststed.Text & "', '" & txt_slægt.Text & "', '" & txt_dknavn.Text & "', '" & txt_Ph.Text & "', '" & txt_familie.Text & "', '" & txt_kontinent.Text & "', '" & txt_Opdager.Text & "', '" & txt_Aarstal.Text & "', '" & txt_opdraetter.Text & "', '" & txt_opdraetteraar.Text & "', '" & txt_dh.Text & "', '" & txt_str.Text & "', '" & txt_natur.Text & "', '" & txt_foder.Text & "', '" & txt_temp.Text & "', '" & txt_sex.Text & "', '" & txt_opdrat.Text & "', '" & txt_opdraetter.Text & "', '" & txt_note.Text & "', '" & txt_billede1.Text & "', '" & txt_billede2.Text & "')" res.Open SQL, con, adOpenDynamic con.Execute SQL Den skulle opdatere det som bliver skrevet i de tekstboxe når jeg har hentet informationen ind i dem med en SELECT sætning
Annonceindlæg fra Deloitte
03. september 2004 - 16:45
#1
Du ændrer: SQL="INSERT INTO fish_info(art,engelsknavn,...) VALUES ('" & txt_art.Text & "', '" & txt_uknavn.Text & "', '" & ... & "')" til: SQL="UPDATE fish_info SET art='" & txt_art.Text & "',engelsknavn='" & txt_uknavn.Text & "',..."
03. september 2004 - 16:48
#2
Arrrh oki har fundet en masse på nettet men ingen eksempler som det du lavede der :) Thx
03. september 2004 - 16:50
#3
En update syntax er: UPDATE tabel SET kol1=xxx, kol2=yyy, kol3=zzz WHERE kolX=xxx Så det bliver noget med: SQL = "UPDATE fish_info SET art = '" & txt_art.Text & "', engelsknavn = '" & txt_uknavn.Text & "', Synonym = '" & txt_synonym.Text & "', variant = '" & txt_variant.Text & "', fangststed = '" & txt_fangststed.Text & "', slægt = '" & txt_slægt.Text & "', Dansknavn = '" & txt_dknavn.Text & "', pH='" & txt_Ph.Text & "'7, Familie='" & txt_familie.Text & "', Land = '" & txt_kontinent.Text & "', opdager = '" & txt_Opdager.Text & "', op-år = '" & txt_Aarstal.Text & "', dk-opdraet = '" & txt_opdraetter.Text & "', dk-opdraet-år = '" & txt_opdraetteraar.Text & "', dh-kh='" & txt_dh.Text & "', strørrelse = '" & txt_str.Text & "', vandtype='" & txt_natur.Text & "', foder='" & txt_foder.Text & "', temp='" & txt_temp.Text & "', kønsforskel='" & txt_sex.Text & "', opdræt='" & txt_opdrat.Text & "', opdrættet='" & txt_opdraetter.Text & "', note='" & txt_note.Text & "', billede1_text='" & txt_billede1.Text & "', billede2_text='" & txt_billede2.Text & "' WHERE kolonn=noget" dog er det noget med kolonnerne billede1_text, billede2_text, billede1, billede2 som måske ikke helt passer.
03. september 2004 - 17:07
#4
Hmm er det ikke det samme om Arne ?
03. september 2004 - 17:13
#5
Ja nu er det også den måde SQL standarten siger det skal gøres på, så de vil være ens ;) BEMÆRK jeg har også vist en WHERE på SQL sætningen sådan du ikke overskrive alle dine poster i databasen, men kun den du ønsker at opdatere. Har du kun EN post behøver du ikke en WHERE.
03. september 2004 - 17:14
#6
Hehe ;)
03. september 2004 - 17:23
#7
Hmm jeg for en syntax fejl hver gang jeg prøver at update :s SQL1 = "UPDATE fish_info SET art='" & txt_art.Text & "',engelsknavn='" & txt_uknavn.Text & "',Synonym='" & txt_synonym.Text & "',variant='" & txt_variant.Text & "',fangststed='" & txt_fangststed.Text & "',slægt='" & txt_slægt.Text & "',Dansknavn='" & txt_dknavn.Text & "',pH='" & txt_Ph.Text & "',Familie='" & txt_familie.Text & "',Land='" & txt_kontinent.Text & "',opdager='" & txt_Opdager.Text & "',op-år='" & txt_Aarstal.Text & "',dk-opdraet='" & txt_opdraetter.Text & "',dk-opdraet-år='" & txt_opdraetteraar.Text & "',dh-kh='" & txt_dh.Text & "',størrelse='" & txt_str.Text & "',vandtype='" & txt_natur.Text & "',foder='" & txt_foder.Text & "',temp='" & txt_temp.Text & "',kønsforskel='" & txt_sex.Text & "',opdræt='" & txt_opdrat.Text & "',note='" & txt_note.Text & "',billede1='" & txt_billede1.Text & "',billede2='" & txt_billede2.Text & "'" res.Open SQL1, con, adOpenDynamic con.Execute SQL1
03. september 2004 - 17:29
#8
Har du nogle felter som indeholder ' i teskten? Prøv at sætte klammer omkring kolonne med bindestreng i, databasen vil nemlig tolke det som minustegn. dk-opdraet-år --> [dk-opdraet-år]
03. september 2004 - 17:32
#9
Er alle felterne af tekst type ?
03. september 2004 - 17:47
#10
Jeb det er de
03. september 2004 - 17:49
#11
Hvad er den præcise fejl ?
03. september 2004 - 17:54
#12
Hmm det hjalp ikke For den os hvis jeg bruger Eagleeye's :(
03. september 2004 - 17:57
#13
Run-Time Error Syntax error in UPDATE statement. markere den res.Open SQL1, con, adOpenDynamic gul ... Sådan ser den ud con.Open (Datasti) SQL1 = "UPDATE fish_info SET art = '" & txt_art.Text ..... osv res.Open SQL1, con, adOpenDynamic con.Execute SQL1 res.Close con.Close
03. september 2004 - 18:02
#14
Er det Access? Så prøv med klammer omkring alle kolonn navne. Tjek at der ikke noget tekst der indeholder ' Har du mulighed for at uskrive SQL sætningen og evt. vise den. Det er tit lettere at se om der manger et eller andet.
03. september 2004 - 18:04
#15
Oki nu har jeg fået den til at opdatere: SQL1 = "UPDATE fish_info SET art = '" & txt_art.Text & "', engelsknavn = '" & txt_uknavn.Text & "'" Men når jeg opdatere, opdatere den alle i databasen :D (Godt man har backup :) )
03. september 2004 - 18:09
#16
Det var det med WHERE så du kun vælger den post som skal opdateres :)
03. september 2004 - 18:12
#17
Oki som kunne være ?
03. september 2004 - 18:15
#18
Hvis du har en kolonne som er autonummer var det en god ide at bruge det nummer. Når du vil rette en post henter du sikkert posten med: SELECT * FROM xx WHERE id=xxx det er på samme måde når man opdater. Du skal så gemme ID når du har hente data ud så det kan bruges i din update SQL: WHERE id = " & txt_id.Text
03. september 2004 - 18:29
#19
Primær nøglen uanset om den er auto nummer eller ej ville være meget oplagte at bruge i den WHERE betingelse
03. september 2004 - 18:45
#20
SQL1 = "UPDATE fish_info SET art = '" & txt_art.Text & "', engelsknavn = '" & txt_uknavn.Text & "' WHERE id = txt_id.Text" res.Open SQL1, con, adOpenDynamic con.Execute SQL1 Fejl: No value given for one or more required parameters ? :S
03. september 2004 - 18:46
#21
Er der et id felt ? Er det af en tal type ? Og er der et tal i txt_id i formen ?
03. september 2004 - 18:46
#22
Sådan her: SQL1 = "UPDATE fish_info SET art = '" & txt_art.Text & "', engelsknavn = '" & txt_uknavn.Text & "' WHERE id = " & txt_id.Text
03. september 2004 - 18:53
#23
Ah - feltnavnet var indenfor "" erne
03. september 2004 - 19:25
#24
Fatter jeg ikke :s
nogle som kan finde ud af det
http://80.166.165.221/Akvariefisk.rar fatter det ikke det er Command1 som er
Update knappen bare husk at vælge en i listboxen først
03. september 2004 - 19:26
#25
Undskyld det virkede med den korte SQL streng men ikke hvis jeg sætter den lange ind :S
03. september 2004 - 19:32
#26
Hvordan ser din SQL sætning ud nu? har du prøvet at sætte klammer [] omkring alle kolonne navne? [kolonne-navn]
03. september 2004 - 20:02
#27
Hmm ja den ser jo sådan ud hvis jeg kunne knække den da den er for lang :P SQL1 = "UPDATE fish_info SET [art] = '" & txt_art.Text & "', [engelsknavn] = '" & txt_uknavn.Text & "', [Synonym] = '" & txt_synonym.Text & "', [variant] = '" & txt_variant.Text & "', [fangststed] = '" & txt_fangststed.Text & "', [slægt] = '" & txt_slægt.Text & "', [Dansknavn] = '" & txt_dknavn.Text & "', [pH] = '" & txt_Ph.Text & "", [Familie] ='" & txt_familie.Text & "', [Land] = '" & txt_kontinent.Text & "', [opdager] = '" & txt_Opdager.Text & "', [op-år] = '" & txt_Aarstal.Text & "', [dk-opdraet] = '" & txt_opdraetter.Text & "', [dk-opdraet-år] = '" & txt_opdraetteraar.Text & "', [dh-kh] ='" & txt_dh.Text & "', [strørrelse] = '" & txt_str.Text & "', [vandtype] ='" & txt_natur.Text & "', [foder] ='" & txt_foder.Text & "', [temp] ='" & txt_temp.Text & "', [kønsforskel] ='" & txt_sex.Text & "', [opdræt] ='" & txt_opdrat.Text & "', [opdrættet] ='" & txt_opdraetter.Text & "', [note] ='" & txt_note.Text & "', [billede1] ='" & txt_billede1.Text & "', [billede2] ='" & txt_billede2.Text & "' WHERE [id] = " & txt_id.Text
03. september 2004 - 20:06
#28
ok, der er en fejl efter pH der er to "" det skulle være "' Så prøv at rette [pH] = '" & txt_Ph.Text & "", [Familie] ='" til: [pH] = '" & txt_Ph.Text & "', [Familie] ='"
03. september 2004 - 20:52
#29
Oki jeg er et fjols.... Hedder ikke [strørrelse] men [størrelse] hehe Tak for det det virker nu ;) Svar please synes i begge har været ret gode til at svare
03. september 2004 - 21:03
#30
Ok ;) Her er mit svar.
03. september 2004 - 21:15
#31
ok
Kurser inden for grundlæggende programmering