Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> skladnia zapytan T-SQL - podstawy
zietek
post
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...

  1. UPDATE dbo.tabela SET binaria = '1111' WHERE id = 1


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zietek
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 11:10