Merhabalar arkadaşlar, bu yazımda seçtiğim resim dosyasını SQL üzerine kaydetme(yazdırma) işleminden bahsedeceğim. Kaydettiğim resim dosyasını veritabanından çekerek picturebox'ta görüntülemeye çalışacağım.
Bu yazım için 1 tane Form, 1'er tane label, textbox, picturebox, openfiledialog, combobox ve buton kullandım.
Ek Bilgi: SQL bağlantısı için Kütüphaneler : System.Data.Sql , System.Data.SqlTypes ve System.Data.SqlClient;
SqlConnection BAG = new SqlConnection("server=.; database=TABLOBLOG; Integrated Security=True");
Öncelikle combobox1'i resim adlarıyla dolduruyorum
public void DOLDUR()
{
try
{
comboBox1.Items.Clear();
SqlCommand LİSTELE = new SqlCommand("select * from RESİM", BAGIM);
BAGIM.Open();
SqlDataReader OKU = LİSTELE.ExecuteReader();
while (OKU.Read() == true)
{
comboBox1.Items.Add(OKU[0].ToString());
}BAGIM.Close();
}
catch (Exception HATA)
{
MessageBox.Show("HATA = " + HATA.Message);
} }
private void Form1_Load(object sender, EventArgs e)
{
DOLDUR();
}
Resim kayıt işlemleri için button1'e basma işlemlerini yazıyorum.
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("LÜTFEN RESİM ADI GİRİN!");
}
else
{
openFileDialog1.FileName = "";
openFileDialog1.Filter = "JPEG|*.jpg";
openFileDialog1.InitialDirectory = "C://";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
{
byte[] resim = System.IO.File.ReadAllBytes(openFileDialog1.FileName);
try
{
BAGIM.Open();
SqlCommand ekle = new SqlCommand("insert into RESİM(AD, RESİM) values (@AD, @RESİM)", BAGIM);
ekle.Parameters.AddWithValue("@AD", textBox1.Text);
ekle.Parameters.AddWithValue("@RESİM", resim);
ekle.ExecuteNonQuery();
BAGIM.Close();
DOLDUR();
textBox1.Text = "";
}
catch (Exception hata)
{
MessageBox.Show("HATA = " + hata.Message);
}
}
else
{
}
}
}
Son olarak veritabanından çektiğim resim dosyasını picturebox1'de görüntüleme işleminden bahsedeceğim.
public void GÖSTER()
{
try
{
SqlCommand LİSTELE = new SqlCommand("select * from RESİM where AD='"+comboBox1.Text+"'", BAGIM);
BAGIM.Open();
SqlDataReader OKU = LİSTELE.ExecuteReader();
while (OKU.Read() == true)
{
byte[] RESİM = (byte[])OKU[1];
MemoryStream MİS = new MemoryStream();
MİS.Write( RESİM, 0, RESİM.Length);
pictureBox1.Image = Image.FromStream(MİS);
}
BAGIM.Close();
}
catch (Exception HATA)
{
MessageBox.Show("HATA = " + HATA.Message);
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
GÖSTER();
}
Burada yazımı sonlandırarak iyi günler diliyorum...
Yorumlar
Yorum Gönder