Här kommer en fortsättning på mina sql-problem. Borde istället vara: Det med "& Text1.Text &" finns redan med. Vile bara spara lite tecken då jag skrev detta inlägg. Ahh, lite Roller Girl :) Eftersom texten innehåller ' så kommer strängen brytas och skapar således ett sql-fel. Så om du skall skicka in en text så får du skriva något i stil med ...SQL fråga, problem, fortsättning
Jag skriver ett program i VB6 med en Access-databas, men nu över till problemet.
Jag har ett fält som heter "Vocal" i databasen som är av värdet "PM".
Jag har även en textruta och i denna står det så klart en sångtext.
Jag lyckas inte spara texten i textrutan i databasen av någon anledning som jag inte förstår.
Har det med att det ingår "return" och "radbrytnings"-tecken?
Här är min sqlsats just nu:
UPDATE Songs SET Vocal='Text1.Text' WHERE SongID=676
Text1.Text = texten som står i textrutan.
Tack på förhandSv: SQL fråga, problem, fortsättning
UPDATE Songs SET Vocal=" & Text1.Text & " WHERE SongID=676
Det är dock inte en optimal lösning (läs på om SQL injection) och kommer inte fungera om det finns " i texten. Du bör istället titta på parameteriserade frågor. Det var länge sedan jag pysslade med VB6 så jag minns tyvärr inte hur det går till nu...
JohanSv:SQL fråga, problem, fortsättning
Du behöver inte kunna något om VB6. Den biten hanterar jag.
Men har du något förslag på hur det kan se uti sql??
Här kommer ett exempel på hur sql-satsen kan se ut:
Tyvärr visar den inte radbrytning eller ny rad men dessa tecken måste ju finnas någonstans.
Det verkar som om den sparar första raden, sedan när specialtecken kommer så bryts allt av där.
Mycket text blir det.
UPDATE Songs SET Vocal='Ooh, you are my superstar
One, two, three
You're The Only One For Me
Two, three, four
Let us do it on the floor
Three, four, five
You're the only in my life
Five, six, seven
You make me feel like I'm in heaven
Chorus:
Ooh, you are my superstar
Do you wanna stay with me
Like the flower and the bee
You will wisper to me ooh baby ooh baby baby ooh ooh
One, two three
Would you like to play with me?
Two, three, four
Can I love you on the floor?
Three, four, five
I would like to be your wife
Five, six, seven
I will ... from seven to eleven
CHORUS
(Ooh baby ooh baby ooh baby)
(Ooh baby ooh baby ooh baby)
(Ooh baby ooh baby baby ooh ooh)
CHORUS
(Ooh baby ooh baby baby ooh ooh)
(Ooh baby ooh baby baby)
Do you wanna stay with me
Like the flower and the bee
You will wisper to me ooh baby ooh baby baby ooh ooh
Ooh baby ooh baby baby ooh ooh' WHERE SongID=6458Sv: SQL fråga, problem, fortsättning
Spana in exemplen i slutet av denna tråd:
http://www.vbforums.com/showthread.php?t=603371
JohanSv:SQL fråga, problem, fortsättning
mintext = replace(mintext, "'","''")
genom att ersätta alla ' med '' i texten kommer inte sql-satsen att brytas och således borde det fungera lite bättre än det gör nu. Sen använder du som vanligt bara din sql-sats ...
update tabell set text = '" & mintext & "' where ..