![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 1 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam tabele o dwoch polach: id (bigint), binaria (varbinary(MAX))
W jaki sposob w zapytaniu SQL zapisac ciag znakow reprezentujacy dane binarne? Ktore znaki poprzedzac znakiem ucieczki (i jakim)? Niestety ponizszy kod zwraca blad typu danych, czego do konca nie rozumiem bo string to przeciez rowniez dane binarne...
Pytanie drugie dotyczy tego samego problemu, lecz pol typu nvarchar: Ktore znaki poprzedzac znakiem ucieczki (i jakim)? Ten post edytował zietek 5.02.2008, 22:03:00 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 1 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki, wszystko dziala pieknie - ale niestety pojawil sie jeszcze jeden problem:
Dane tekstowe (zapisane w kodowaniu UTF-8) zawieraja gdzies wewnatrz binarnie znak chr(0), bitowo '00000000' - po prostu ktos wklepal taki tekst do formularza na stronie (co jest mozliwe) i teraz chce go zapisac do bazy... Wszystko jest zgodnie z UTF-8 poniewaz każdy znak w ASCII jest takze znakiem UTF-8. I teraz mam procedure w bazie, ktora chce wywolac z parametrem zawierajacy powyzszy string z formularza: Kod CREATE PROC dbo.procedura @string nvarchar(MAX) AS SELECT @string Tworze zapytanie: Kod EXEC dbo.procedura @string='aaaa cccc' gdzie spacja to wlasnie nasz znak chr(0) (bitowo '00000000' ) ...i niestety problem - komunikat krzyczy ze nie zamknelismy stringa... Probuje zatem tak: Kod EXEC dbo.procedura @string='aaaa'+char(0)+'cccc' ...niestety dowiaduje sie ze w parametrze nie mozna stosowac funcji char(). Probowalem jeszcze encjami: Kod EXEC dbo.procedura @string='aaaa\000cccc' ale to tez nie daje rezultatow....... Jest jakis inny sposob zapisania char(0) w stringu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował zietek 13.02.2008, 08:56:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 11:10 |