Veri Tabanına Resim Yolu Ekleyerek Pictureboxta Resmi Gösterme C#
Veri Tabanına Resim Yolu Ekleyerek Pictureboxta Resmi Gösterme C#
Örnek: Access’e ismi kaydedilen resmin Picturebox’ta gösterilmesi.
Aşağıdaki alanları accesste oluşturuyoruz.
Aşağıdaki formu c#.nette oluşturuyoruz.

public partial class Form1 : Form
{ //Daha fazla bilgi için : www.gorselprogramlama.com
public Form1()
{
InitializeComponent();
} //Daha fazla bilgi için : www.gorselprogramlama.com
OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=data.mdb;");
OleDbCommand kmt;
string DosyaAdi = "";
private void btnGetir_Click(object sender, EventArgs e)
{ //Daha fazla bilgi için : www.gorselprogramlama.com
try
{
kmt = new OleDbCommand("select resimAdi,dosyaAdi from resimbil where resimAdi='" + txtResimAdi.Text + "'", bag);
bag.Open(); //Daha fazla bilgi için : www.gorselprogramlama.com
OleDbDataReader rdr = kmt.ExecuteReader();
rdr.Read();
if (rdr.HasRows) //Daha fazla bilgi için : www.gorselprogramlama.com
{
lblResimAdi.Text = rdr[0].ToString();
lblDosyaAdi.Text = rdr[1].ToString();
pictureBox1.ImageLocation = lblDosyaAdi.Text;
}
else
{ //Daha fazla bilgi için : www.gorselprogramlama.com
MessageBox.Show("Resim Bulunamadı");
}
bag.Close();
} //Daha fazla bilgi için : www.gorselprogramlama.com
catch
{
bag.Close();
MessageBox.Show("Hata Oluştu");
}
}
private void btnResimEkle_Click(object sender, EventArgs e)
{ //Daha fazla bilgi için : www.gorselprogramlama.com
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
foreach (string i in openFileDialog1.FileName.Split('\\'))
{ //Daha fazla bilgi için : www.gorselprogramlama.com
if (i.Contains(".jpg")) { DosyaAdi = i; }
}
File.WriteAllBytes(DosyaAdi, File.ReadAllBytes(openFileDialog1.FileName));
kmt = new OleDbCommand("insert into resimbil (resimAdi,dosyaAdi) values ('" + txtInsResimAdi.Text + "','" + DosyaAdi + "')", bag);
bag.Open(); //Daha fazla bilgi için : www.gorselprogramlama.com
kmt.ExecuteNonQuery();
bag.Close();
MessageBox.Show("Bitti");
} //Daha fazla bilgi için : www.gorselprogramlama.com
else
{
txtInsResimAdi.Text = "";
MessageBox.Show("Herhangi bir Kayıt Girilmedi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
} //Daha fazla bilgi için : www.gorselprogramlama.com
}
textbox’a deneme yazıp Resim ekle butonuna tıklıyorum.
Herhangi bir resim seçip Aç diyorum.


resim adına deneme yazıp Getir butonunu tıkladığımda kaydettiğim resim picturebox’ta gözüküyor.






İyi akşamlar öncelikle.Adminim hoca birşey istedide bizden herşey tamam ama mesela tcno’ya göre resimi accessten çekip forma getircek kod lazım yani ben programı çalıştırıp datagridviewde o kayıtlı olan tcno ya tıkladığım zaman(diğer adres bilgilerini falan getirtebiliyorum forma ama fotoğraf nasıl olacak?) yanda o tcnoya ait kişinin fotoğrafı çıkıcak.Şimdiden teşekkürler…
@Gökhan
Bir şeyi unuttum burda C nette yazmışsınız benimki vb nette olacak yoksa burdaki vbnet olsa ben bunu benimkine uyarlardım Visual Basic kodları lazım bana
teşekkürler..
@Gökhan ben sana yardımcı olurum senin dediğin olayı bir çok projemde kullandım şöle yardımcı oluuum ben sana ilk önce veritabanında resimlerin konumu hakkında bi alan olucak ve oraya resimlerin adreslerini kayıt ediceksin sonra for each le ya da while döngüsü ile değerleri döndürüceksin sonra if i koyucaksın araya eğer tc no uyuyorsa resmin alanını göster diceksin onu da şöle yapıcaksın örnek olarak göstericek olursak
for each i in dt.rows
if tc_no=i(resimlerin konum alanı kaçıncı sıradaysa onu yazıcaksın) then
picturebox1.image=i(resimlerin konum alanı kaçıncı sıradaysa onu yazıcaksın)
end if
next
bu kadar
File.WriteAllBytes(DosyaAdi, File.ReadAllBytes(openFileDialog1.FileName));
satırındaki File isminin altını çizip hata veriyor. nasıl düzeltecem
Aşağıdaki hatayı veriyor.
Error 1 The name ‘File’ does not exist in the current context
using System.IO;
bunu ekle using bölümüne. düzelecektir. Namespace göstermemişsin.
yada System.IO.File.Exists(“”) gibi kullan.
if (i.Contains(“.jpg”)) { DosyaAdi = i; }
Dedeği olay nedir hocam .
textboxt mı acil yardım ederseniz lütfen.
if (i.Contains(“.jpg”)) { DosyaAdi = i; }
DosyaAdi burada nedir burada hata alıyorum ne eklemem lazım .hocam .
textboxt mı acil yardım ederseniz lütfen.
i değişkeni içinde .jpg var ise DosyaAdi=i olsun.Ayrıca proje dosyasını ekledim.Yukarıdaki Projeyi İNDİR linkinden indirebilirsin.
Projeyi indirdim ama hata veriyor .
bağlantı hatası veriyor kayıt yaparken
Pardon.Ben diğer konu ile karıştırdım.Doğru access dosyası içinde.Proje bende çalışıyor.Hata mesajını yazarsan yardımcı oluruz.Olmazsa en son projeyi gönderirsin bakarız.Yardımcı oluruz.
Boş yol adı geçerli değil.
hata mesajı bu
File.WriteAllBytes(DosyaAdi, File.ReadAllBytes(DosyaAc.FileName));
bu kısımda hata veriyor.yardım edersseniz memnun olurum acil lazım
openFileDialog’ta bir problem olabilir.Kodları eksik yazmış olabilirsiniz.
Çok güzel anlatmissiniz. Gerçekten güzel bir site.
VB içinde bu tür kaynaginiz var mi? Yardimci olurmusunuz.
Teşekkürler
Hocam VB için veri tabanina resim yolunu kaydetmeyle ilgili bilgi verebilirseniz çok mutlu olurum.
Teşkkürler 🙂
@admin
peki resimi ole nesnesi olarak degilde yolunu belirterek veritabanından çağırırsam, setup kurup başka bilgisayara atınca resimleri görürmü 🙂 uzun cümle oldu ama projeyi bugün milli eğitime teslim edecem doğru olsun istiyorum.lütfen acil
barıs : vb de aynı sayılır.Fazla fark yok.
yasemin : gösterir.
setup kurdum başka bilgisayarda veritabanını görmüyor.bu konuda yardım edebilirmisiniz???
ben resmi OLE nesnesi olarak ekledim bu resim vt da bytelar halinde tutuluyor. bunu vt de arama yaparak picturebox ta nasıl gosterebilirm?
Ben sandece veri tabanından resim eklemem gerekiyor ekle ve getir butonundan aldığımız resmi pictureboxta gostereceim bu biraz karışık
Sağolasın 🙂
benim butona resim eklemem gerekiyor bu konuda yardımcı olabilirmisiniz
serda:
Aşağıdaki video linkinde anlatım var , izleyebilirsin.
http://csharpvideoluders.com/videos/formlar-arasi-veri-aktarimi-ders-88
Merhaba Hocam Ben Foreach Kısmını Hiç Anlayamadım ..
foreach (string i in DosyaAc.FileName.Split(‘\\’))
{
if (i.Contains(“.jpg”)) { DosyaAdi = i; }
else { DosyaYolu += i + “\\”; }//www.gorselprogramlama.com
}
Hocam bu Kısmın Neden gerekli Oldugunu ve Türkcesini ANLATIRMISINIZ tesekkürler
Taner :
bize gerekli olan dosyanın adı ve uzantısı. nerde olduğu bizi bağlamıyor. c:\belgeler\asd\a.jpg yukarıdaki kod sadece a.jpg alınmasını sağlıyor.
Anladım Hocam Teşekkür Ederim
bin/debug/ içine bir klasör açıp resimleri buraya kopyalansa ve derli toplu olsa, bu şekilde nasıl bir dosya aç yolu tanımlamamız gerekir.
iyi gunler datagridwieve resmı nasıl belırlıyoruz ve belırledıgımız yola nasıl lınk veriyoruz accesden yol belırttım ben ve datagridwievin içerisindeki coloumsa tıkladıgımda pictureboxda degişecek yardımcı olursanız sevınırım
kubra :
Aşağıdaki linki incele.
http://www.gorselprogramlama.com/datagridviewde-resim-gosterme-csharp/
iyi günler benim üzerinde çalıştığım projemde access veritabanı kullanıyorum ve verilerimi çektiğimde listviewe yazdırıyorum.Listviewe tıkladığımda bütün verilerimi ilgili textboxlara yazdırabiliyorum ama veriyi eklerken seçtiğim resmin yolunu kaydetip listviewe tıkladığımda pictureboxta görünmesini sağlayamıyorum. Bunu nasıl yapabilirim ? yardımcı olursanız sevinirim