Jak pobrać pole z bazy zawierające spacje ?

0

Witam,
Posiadam tabele w której w jednym z pół znajduje się wpis "123,34 121,3444" i w żaden sposób nie moge tego wyświetlić i wszystkich kolejnych pól w danym rekordzie.

Jak ręcznie zmieniam wartość pola na np "123,34" problem mija.

Korzystam z takiej składni:

while (Reader.Read())
			{
				string thisrow = "";
				
				thisrow+= Reader.GetString(0) + "," + Reader.GetValue(1) + "," + Reader.GetString(2) + "," + Reader.GetString(3) + "," + Reader.GetString(4) + ",";
				tbMessages.Text +=thisrow ;
				
			}

Z góry dzieki

0

Wartość pola ze spacją odczytujesz przez GetValue czy przez GetString?

0

Witam,
I tak i tak nic nie daje ..., tzn czyta tą wartość i na tym się urywa wypisywanie rekordu.

Wynikiem jest zawsze:

"12213, 34,3445 45,6544"

czyli id i koordynaty ... a IP, daty, typu nie wypisuje.

Jak pomine wypisanie tej wartości albo ją zmienie tak jak pisałem wcześniej to jest OK.

dzieki

0

Zauważyłem że to nie kwestia ani spacji ani przecinków.

To chyba coś z kodowaniem.

Tą wartość pobieram ze strumienia i zapisuje do bazy jako UNICODE (zachowuje mi polskie znaki).

To co wypisuje ma długość 30znaków :/

Ze strumienia pobieram koordynaty tak:

bytes = clientSocket.Receive(RecvBytes);
if (bytes<=0) break;
add_Record(ipa, **Encoding.Unicode.GetString(RecvBytes).ToString().Trim()**);

Zapisuje do bazy tak:

(...)
string c = rcv_coordinate.ToString().Substring(0, 30);
(...)
string Query = "INSERT INTO gps(coordinate, client_ip, add_date, type) VALUES " + "('"+c+"','"+ips+"','"+d+"','"+t+"')";

No i finalnie jak wyciągne "coordinate" to ma długość 30.

W mysql workbench wystarczy że edytuje zawartość komórki zmieniając jedną cyfrę na inną i już wszystko działa tzn. wyświetla się poprawnie, a długość z 30 spada do 19...

Proszę o pomoc w poprawniejszym sposobie zapisu do bd bo tu pewnie tkwi problem.

Kodowanie w bazie to UTF 8, ale polskie znaki zapisane unicodem poprawnie wyświetla.

dziekuje

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