c# ta acces veritabanına byte olarak resim eklemek için, yüklemek istediğimiz resimi byte çeviriyoruz ve access dosyamızdaki ilgili kolona kaydediyoruz. Access veritabanına resim eklemek için aşağıdaki adımları uygulayın.
Access veritabanı oluşturun
İlgili tabloya, Resim vb bir isimle kolon oluşturun
Kolonun tipini OLE Nesnesi yapın
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public string resim_yolu; public string Sql_Resim_Kaydet(string sorgu) { FileStream file_s = new FileStream(resim_yolu, FileMode.Open, FileAccess.Read); int uzunluk = Convert.ToInt32(file_s.Length); byte[] resim_byte = new byte[uzunluk]; file_s.Read(resim_byte, 0, uzunluk); file_s.Close(); con.Open(); OleDbCommand cmd = new OleDbCommand(sorgu); OleDbParameter parametre = new OleDbParameter("@Resim", OleDbType.LongVarBinary); parametre.Value = resim_byte; cmd.Parameters.Add(parametre); cmd.Connection = con; try { cmd.ExecuteNonQuery(); } catch (Exception hata) { MessageBox.Show(hata.Message.ToString()); } con.Close(); return "null"; } |
Kullanım
Resim yolunu belirttiğimiz dosyayı FileStream ile açıp, okuyoruz. Okunan verinin uzunluğunu hesaplıyoruz ve byte çeviriyoruz.
1 | Sql_Resim_Kaydet("update Kitaplar set resim=? where ID='1'"); |