2015-12-31 2 views
0

вы можете мне помочь в этой проблеме я один производства форм из где я могу загрузить эту фотографию и сохранить его в базу данных, но когда я сделать cellmouseclick событие это имея некоторую проблему enter image description hereDataGridView ошибка ячейки Mouseclick событие

и ниже код для этого:

SqlConnection con = new SqlConnection("Data Source=ANTONIANGGA-PC\\SQLEXPRESS;Initial Catalog=FullandStarving;Integrated Security=True"); 
SqlCommand cmd; 
SqlDataAdapter da; 
DataTable dt = new DataTable(); 
SqlDataReader dr; 

private void button2_Click(object sender, EventArgs e) 
{ 
    byte[] image = null; 
    FileStream fs = new FileStream(this.txtLink.Text, FileMode.Open, FileAccess.Read); 
    BinaryReader br = new BinaryReader(fs); 
    image = br.ReadBytes ((int)fs.Length); 

    string dProduksi = DateTime.Parse(dtmProduksi.Text).ToString("yyyy-MM-dd"); 

try{ 
    con.Open(); 
    cmd = new SqlCommand("insert into Produksi (IDProduksi,IDPhoto,TanggalProduksi,NamaKaryawan,KeteranganPhoto,Photo) Values(@IDProduksi,@IDPhoto,@TanggalProduksi,@NamaKaryawan,@KeteranganPhoto,@Photo)", con); 
    cmd.Parameters.AddWithValue("@IDProduksi", txtIdpro.Text); 
    cmd.Parameters.AddWithValue("@IDPhoto", txtIdPhoto.Text); 
    cmd.Parameters.AddWithValue("@TanggalProduksi", dProduksi); 
    cmd.Parameters.AddWithValue("@NamaKaryawan", txtNamaKaryawan.Text); 
    cmd.Parameters.AddWithValue("@KeteranganPhoto", rxtKtrphoto.Text); 
    cmd.Parameters.AddWithValue("@Photo", image); 
    cmd.ExecuteNonQuery(); 
    MessageBox.Show("Update telah di jalankan"); 

    con.Close(); 
    showgridview(); 
    clear(); 

    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
    } 
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
    { 
     txtIdpro.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); 
     txtIdPhoto.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString(); 
     dtmProduksi.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString(); 
     txtNamaKaryawan.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString(); 
     rxtKtrphoto.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString(); 
     txtLink.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString(); 

     // wanna show that picture when you klik cell 
     byte[] imgg = (byte[])(dr["Photo"]); 
     MemoryStream Strem = new MemoryStream(imgg); 
     pictureBox1.Image = System.Drawing.Image.FromStream(Strem); 

    } 

и если я воздаю этот байт [], что может быть так ниже:

stack 2

и если я воздаю, что байт [], что может быть так ниже:

+0

Пожалуйста, объясните возникшую проблему, которую вы получаете. – csharpcoder

+0

Да, когда я нажимаю какую-то datacell, изображение может загружаться автоматически, например, вид, который вы видите, что текстовое поле eventmouseclick может обрабатывать, поэтому, если вы klik, текстовое поле может его распечатать. так что я должен делать, когда picturebox, как это, когда я klik это? –

+0

Можете ли вы показать весь код для меня, я путаю то, что вы говорите? –

ответ

1

Вы должны инициализировать dr. Вы должны создать в dataGridView1_CellMouseClick выбранный запрос, и вы можете сделать это:

dr = cmd.ExecuteReader(); 
while (dr.Read()) { } 

 Смежные вопросы

  • Нет связанных вопросов^_^