0

Я устал искать решение. пожалуйста помогите.Показать изображение из SQL Server 2008 в datagridview C#

У меня есть таблица со столбцами

  • p_id (int)
  • p_name (varchar50)
  • category (int)
  • price (money)
  • picture (Image)

Вставка про cess работает отлично, он также показывает мне мои записи в базе данных .. но он сеет мне мой файловый путь в gridview, а не показывает изображение ...

Пожалуйста, помогите мне ... это часть моего проекта ... и я не знаю, как показать извлекать изображения из базы данных в DataGridView

Я сделал все мое подключение к работе SQL в Dall класса

Вот мой код:

using System; 
using System.Collections.Generic; 
using System.ComponentModel;  
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace Image_task 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void insert_btn_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       int count; 

       dall insert = new dall(); 

       int id = Convert.ToInt32(id_txt.Text); 
       string name = name_txt.Text; 
       int cat = Convert.ToInt32(cat_txt.Text); 
       decimal price = Convert.ToDecimal(price_txt.Text); 
       string image=pic_txt.Text; 
       count = insert.insrt_up_del("insert into product values('" + id + "','" + name + "','" + cat + "','" + price + "','" + image + "')"); 

       MessageBox.Show("Insert Successfully", "Successfull", MessageBoxButtons.OK, MessageBoxIcon.Information); 

      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      insert_btn.Enabled=false; 
     }  

     private void browse_txt_Click(object sender, EventArgs e) 
     { 
      insert_btn.Enabled = true; 

      openFileDialog1.Filter = "Images  (*.BMP;*.JPG;*.GIF,*.PNG,*.TIFF)|*.BMP;*.JPG;*.GIF;*.PNG;*.TIFF|" + "All files (*.*)|*.*"; 

      if (openFileDialog1.ShowDialog()==DialogResult.OK) 
      { 
       pictureBox1.Image = new Bitmap(openFileDialog1.FileName); 
       pic_txt.Text = openFileDialog1.FileName; 

      } 
     } 

     private void search_btn_Click(object sender, EventArgs e) 
     { 
      dall select = new dall(); 

      DataTable dt = new DataTable(); 
      dt = select.select("Select * from product"); 
      dataGridView1.DataSource = dt; 

      //DataGridViewImageColumn img = new DataGridViewImageColumn(); 
      //img.DataPropertyName = "Picture"; 
      //img.Width = 200; 
      //img.HeaderText = "Picture Column"; 
      //img.ReadOnly = true; 
       //img.ImageLayout = DataGridViewImageCellLayout.Normal; 
      //dataGridView1.Columns.Add(img); 
      //dataGridView1.DataSource = new BindingSource(dt,null); 
     }  
    } 
}  
+0

[SQL Injection alert] (http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - вы должны ** не ** объединить ваш SQL заявления - используйте ** параметризованные запросы **, чтобы избежать SQL-инъекции –

+0

У меня есть некоторые значения в моей таблице базы данных. Я хочу показать свои значения в DataGridView. Все работает отлично, но не изображение ... Вместо этого он показывает путь изображения of Image .. – user3010973

ответ

0

адаптер использование данных

DataAdapter da = new DataAdapter("Select * from product",youconnection); 
DataTable dt = new DataTable(); 
da.Fill(dt); 
dataGridView1.DataSource = dt; 
+0

Как это ответить на вопрос? – ProfK

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