Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmiana varchar na varbinary
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
MadMark
Witam,


mam drobny problem... Otóż chciałbym wykonać insert do tabeli w której jest kilka kolumn o różnych typach np. varchar, int, varbinary, binary etc.
Wszystko się dało ładnie pozmieniać (varchar do hex i z hex do binary, ale z varbinary nie działa) za pomocą funkcji, ale nie wiem co zrobić ze zmianą typu z varchar do varbinary...

Insert wygląda tak:
  1. $sql2 = mssql_query("INSERT INTO T_FriendMail
  2. ([MemoIndex],[GUID],[FriendName],[Subject],[Memo],[Photo],[Dir],[Act],[jaka])
  3. VALUES ('$nmc','$id','$kto1','$sub','$msg3',$phot2,'$gam','$pr','$zr');"
  4. );

MemoIndex - int, GUID - int, FriendName - varchar, Subject - varchar, Memo - varbinary(1000), Photo - binary(18), Dir - tinyint, Act - tinyint, jaka - int

To jest linijka z błędem wskazującym w/w zapytanie sql

Kod
Warning: mssql_query() [function.mssql-query]: message: The name 'gggggggg' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted. (severity 15) in C:\xampp\htdocs\mupagecore\konto\mail.php on line 293


Gdzie 'gggggggg' to treść jaka ma znaleźć się w Memo - varbinary(1000).

Próbowałem czegoś w stylu
  1. (DECLARE @v varchar(1000) SET @v=$msg2 SELECT CAST(@v AS varbinary(1000)))

ale nie działa...


Jest ktoś mi w stanie jakiejś porady udzielić jak z varchar zrobić varbinary? bo google nie jest łaskawy
trafas
Robisz konwersję przy zapisie i odczycie danych.

  1. -- ZAPIS DANYCH
  2. DECLARE @v varchar(1000)
  3. SET @v='ggggggg'
  4.  
  5. INSERT INTO T_FriendMail ([Memo])
  6. VALUES (convert(varbinary,@v))
  7.  
  8.  
  9. -- ODCZYT DANYCH
  10. select convert(varchar,[Memo]) from T_FriendMail


Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.