Wartość z kolumny sql

0

Witam mam problem z rezultatami w sql. Wykonuje zapytanie i w jednej z kolumn z wynikiem zapytania wyświetla mi System.Byte[] zamiast konkretnej wartości. Wynik zapisuje do pliku. Wie ktoś co może być przyczyną ?

0

Wynik jest adekwatny do tego:

var bytes = new byte[10];
var bytesAsString = bytes.ToString();
Console.WriteLine(bytesAsString);

W konsoli zobaczysz właśnie System.Byte[].

0

Problem rozwiązany mam jeszcze pytanko. Po wykonaniu zapytania i wyciągnięciu danych z bazy giną polskie znaki. Gdzie tkwi błąd ? Jakiego kodowania trzeba używać.

0

Takiego kodowania jakiego używa baza, albo przekonwertowania z kodowania jakiego używa baza, na takie którego używa UI

0

Czyli w bazie danych w polu o wartościach byte nie może być łańcuchów znakowych bo inaczej .net wyświetli takie coś jak ten System.Byte[]

1

Nie. Zupełnie nie rozumiesz tematu.

System.Byte[] bierze się z tego, że jeżeli obiekt nie ma przeładowanej wersji ToString(), to użyje wersji z System.Object, która zwraca po prostu pełną nazwę obiektu.

Nie wiem co rozumiesz przez "pole o wartościach byte", ale generalnie łańcuch znaków to nic innego jak ciąg bajtów. Wszystko w informatyce ostatecznie sprowadza się do bajtów, a nawet bitów :P.

Jeżeli chcesz z bajtów uzyskać tekst, to robisz to przykładowo tak:

var bytes = new byte[]{ ..... };
var s = Encoding.UTF8.GetString(bytes);

Przy założeniu, że kodowanie to UTF-8

0
usm_auriga napisał(a):

Czyli w bazie danych w polu o wartościach byte nie może być łańcuchów znakowych bo inaczej .net wyświetli takie coś jak ten System.Byte[]

Pokaż jak wyciągasz te dane, bo mam wrażenie, że nie rozumiesz co robisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1