Witam.
Jestem nowy na forum, z racji, że potrzebuję pomocy. Z C# najmocniejszy nie jestem ale jakieś tam podstawy mam.
Teraz do rzeczy. Tworzę aplikację do obsługi lokalnej bazy danych ODBC. Z bazą się łączę i wyświetlam ją sobie w dataGridView. Potrzebuję teraz zrobić tak, aby jak zaznaczę jakieś pole w dataGridView, pobiera grafikę jak jest zapisana w bazie (pole typu: image) i wyświetla mi je w PictureBox'ie.
Baza została stworzona w Sybase Central 16.0, dodana w "Administratorze źródła danych ODBC" Windows'a 7, w Visual Studio 2013 została dodana do dataGridView i wyświetliły się właściwe kolumny.
Mam taki kod, który nie działa, kompiluje się ale po kliknięciu na pole wyskakuje błąd:
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll
Additional information: Nie istnieją dane dla wiersza/kolumny.
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string connStr = "Dsn=szkola;uid=dba;pwd=sql";
OdbcConnection polaczenie = new OdbcConnection(connStr);
polaczenie.Open();
int a = dataGridView1.CurrentCell.RowIndex+1;
string querry = "Select Image as img FROM films WHERE ID="+a;
OdbcCommand cmd = new OdbcCommand(querry, polaczenie);
OdbcDataReader czytacz;
czytacz = cmd.ExecuteReader(CommandBehavior.CloseConnection);
label1.Text = a.ToString();
byte[] imgg=(byte[])(czytacz["img"]);
if (imgg==null){
pictureBox1=null;
}else{
MemoryStream mstream = new MemoryStream(imgg);
pictureBox1.Image=System.Drawing.Image.FromStream(mstream);
};
}