DataGridView+MySQL+typ BLOB

0

Mam problem z odczytem tabeli w bazie danych w której jest typ BLOB. Mianowicie DataGridView domyślnie definiuje ten typ jako binary i w momencie wyświetlania zawartości takiej kolumny stara siuę rysować obrazek w tabelce, a chciałbym aby wyświetlał mi tekst.

try{
				string mojepolaczenie = "Database=komentarze;Data Source=localhost;User Id=root;Password=krasnal";
				MySql.Data.MySqlClient.MySqlConnection koneksja = new MySql.Data.MySqlClient.MySqlConnection(mojepolaczenie);
				string wyswietl = "SELECT * FROM tab_komentarzy";
				MySql.Data.MySqlClient.MySqlCommand komenda = new MySql.Data.MySqlClient.MySqlCommand(wyswietl);
				komenda.Connection = koneksja;
				koneksja.Open();
				komenda.ExecuteNonQuery();
				MySql.Data.MySqlClient.MySqlDataAdapter myAdapter = new MySql.Data.MySqlClient.MySqlDataAdapter();
				myAdapter.SelectCommand = komenda;
				myAdapter.Fill(dataSet1,"koment");
				dataGridView1.DataSource = dataSet1.Tables["koment"];
				komenda.Connection.Close();
			}catch(Exception e){
				MessageBox.Show("Pojawił się niespodziewany błąd: "+e.Message,"Błąd połączenia", MessageBoxButtons.OK);
				
			}

Powyższe to jest fragment kodu który odpowiada za wyświetlenie zawartości bazy bezpośrednio po uruchomieniu programu no i sprawia on właśnie problemy z typem BLOB. Proszę o pomoc będę wdzięczny

0

Jaki tekst chcesz, zeby wyswietlal? W takim razie w zapytaniu omin bloba, to go wyswietlac nie bedzie :P

0

Typ BLOB może przechowywać zarówno pliki jak i tekst (65535 znaków maksymalnie). I ja właśnie BLOB wykorzystuję do przechowywania tekstu a nie obrazków czy innych plików. I chcę aby ten tekst mi wyświetlało. PZDR

0

Sprobuj obsluzyc zdarzenie CellPainting, zeby rysowalo komorke inaczej, kiedy czytasz tego bloba.

0

no właśnie też próbowałem nie za bardzo działało i stąd mój problem :/

0

na początek, dwie łopaty:

jesli to jest DGV tylko do ogladania zawartosci -- najprosciej - odczytaj dane z bazy, przed podaniem DS to DGV dodaj nowa kolumne typu tekst, zrob foreach po cellsach w kolumne z blobem, dla kazdego odczytaj bloba jako byte[], zamien byte[] na string, wstaw w analogiczne miejsce w kolumnie dodanej, po skonczonym foreachu usun kolumne z blobem i podaj DS do DGV

jesli to jest DGV edycyjny - zamien w bazie danych typ BLOB na TEXT, to jest to samo, tyle ze do bardzo dlugich napisow

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