Şimdi ise Ekle.aspx Sayfamızı Aşağıdaki gibi Tasarlayalım.
Bu Sayfadan Veri girişi yapıcaz. Adı Soyad girip FileUpload Nesnesi ile seçtiğimiz resim dosyasını Tabloya Ekliycez.
Ekle.aspx Sayfasına ait Tüm Kod bloğu ise aşağıdaki gibidir.
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data; // ekleyin
using System.Data.SqlClient; // ekleyin
using System.Data.SqlTypes;// ekleyin
using System.Drawing;// ekleyin
using System.IO;// ekleyin
namespace ismailkocacancomBinaryProject
{
public partial class Ekle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
// Kaydet Butonu
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
Byte[] bytDizi = FileUpload1.FileBytes; // diziye aktar
MemoryStream ms = new MemoryStream(bytDizi);
ms.Read(bytDizi, 0, bytDizi.Length);
ms.Close();
SqlParameter parametreDosya = new SqlParameter("@resmi", SqlDbType.VarBinary, bytDizi.Length, ParameterDirection.Input, false,
0, 0, null, DataRowVersion.Current, bytDizi);
SqlConnection baglantiNesnesi = new SqlConnection("server=ISMAILCOMP\\SQLEXPRESS; database=Test; integrated security=true");
baglantiNesnesi.Open();
SqlCommand komutNesnesi = new SqlCommand("insert into resimler (adsoyad,resmi) values (@adsoyad,@resmi)", baglantiNesnesi);
komutNesnesi.Parameters.Add(parametreDosya);
komutNesnesi.Parameters.AddWithValue("@adsoyad", TextBox1.Text); // parametre ve değeri ekleniyor
komutNesnesi.ExecuteNonQuery(); // sorguyu çalıştır
baglantiNesnesi.Close();
komutNesnesi.Dispose();
Label1.Text = "İşlem Tamamlandı";
}
}
}
}
Oku.aspx Sayfasına ait kod bloğu ise aşağıdaki gibidir.
Bu Sayfanın Context’ine Tablodaki resim dosyası okunacak.
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data; //veri kütüphanesi
using System.Data.SqlClient; //SQListemci kütüphanesi
using System.Data.SqlTypes; //sql server tiplerini barındıran kütüphane
using System.Drawing; //Çizim kütüphanesi
using System.IO; // giriş-çıkış kütüphansi
namespace ismailkocacancomBinaryProject
{
public partial class Oku : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection baglantiNesnesi = new SqlConnection("server=ISMAILCOMP\\SQLEXPRESS; database=Test; integrated security=true");
baglantiNesnesi.Open();
//kimlik numarası 1 olan kaydın bilgileri çekiliyor.
SqlDataAdapter islem = new SqlDataAdapter("SELECT * FROM resimler where kimlik=1", baglantiNesnesi);
DataSet veriKumesi = new DataSet();
islem.Fill(veriKumesi, "resimler");
Byte[] bytdizi = new Byte[0]; // dizi tanımlanıp boyutlandırılıyor.
bytdizi = (Byte[])(veriKumesi.Tables["resimler"].Rows[0]["resmi"]); // Byte olarak aktar
MemoryStream bellekAkisNesnesi = new MemoryStream(bytdizi);
Response.OutputStream.Write(bytdizi, 0, bytdizi.Length); // ekran yazdırılıyor
baglantiNesnesi.Dispose(); // nesneyi yok et
islem.Dispose();
veriKumesi.Dispose();
}
}
}
Artık uygulamamızı çalıştırıp sonucu görebiliriz.Ben Ekle.aspx Sayfası üzerindeyken sağ tıklayıp View in Browser komutu ile Sayfayı çalıştırıp iki tane kayıt ekledim.
Şimdi Default.aspx Sayfamızda resimler nasıl görünüyor ona bakalım.Oku.aspx Sayfasındaki Sql sorgusunda kimlik şartına 1 değerini aktararak 1 numaralı kaydın resimini okudum.Aşağıda görüldüğü gibi.
Yine Oku.aspx Sayfasındaki sql sorgusundaki kimlik şartına 2 değerini aktararak. Kimlik değeri 2 olan kaydın resim bilgisini çekmiş oldum
Şimdilik benim bu konuda anlatmak istediklerim bu kadar.
Bu olay da bu kadar.
Kaynak Kodları http://ismailkocacan.com/dosyalar/Web_Form%20VeriTabani%20Binary_Resim/kaynak.rar - mailto:ismil.bilisim.molla@hotmail.com -