C# mySQL Veritabanı Sorunum
14
●853
- 05-07-2015, 12:23:11Kimlik doğrulama veya yönetimden onay bekliyor.Veritabanına resimi nasıl kaydediyorsun? Bitmap olarak mı yoksa direk resim yolunu mu kaydediyorsun ?
- 05-07-2015, 17:04:38[BLOB - 13 B] yazıyor, tıklanabilme özelliği de var gibi sanıyorum bitmap olarakBurhan_957 adlı üyeden alıntı: mesajı görüntüle
- 05-07-2015, 17:04:56Üyeliği durduruldupicturebox.imagelocation = resim adı ve resim yoluAkif95 adlı üyeden alıntı: mesajı görüntüle
- 05-07-2015, 17:16:17resmi byte şeklinde kayıt ettim mySQL'e cevabınız için teşekkür ederim ancak picturebox'a gelmeden önce veritabanındaki bu bilgiyi nasıl işlemem gerek?dinamityazilim adlı üyeden alıntı: mesajı görüntüle
- 05-07-2015, 17:24:59Üyeliği durduruldukardeş benden sana bir tavsiye byte işinden uzak dur veri tabanını çok şişiriyor ben yapmıştım bir araAkif95 adlı üyeden alıntı: mesajı görüntüle
- 05-07-2015, 17:31:27hocam siz yinede bahsedebilirmisiniz biraz nasıl yapıldığından ?dinamityazilim adlı üyeden alıntı: mesajı görüntüle
Daha sonra randıman alamazsam da dosya yoluyla denerim - 05-07-2015, 17:38:10Üyeliği durduruldugeçen sene yapmıştım tam hatırlamıyorum ama aşşağıdaki kodlardan memory streami kullanmıştım sanırım blob datayı stmBLOBData bağlayıp yapmış bak burdakideAkif95 adlı üyeden alıntı: mesajı görüntüle
try { SqlConnection cn = new SqlConnection(strCn); cn.Open(); //Retrieve BLOB from database into DataSet. SqlCommand cmd = new SqlCommand("SELECT BLOBID, BLOBData FROM BLOBTest ORDER BY BLOBID", cn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds, "BLOBTest"); int c = ds.Tables["BLOBTest"].Rows.Count; if(c>0) { //BLOB is read into Byte array, then used to construct MemoryStream, //then passed to PictureBox. Byte[] byteBLOBData = new Byte[0]; byteBLOBData = (Byte[])(ds.Tables["BLOBTest"].Rows[c - 1]["BLOBData"]); MemoryStream stmBLOBData = new MemoryStream(byteBLOBData); pictureBox1.Image= Image.FromStream(stmBLOBData); } cn.Close(); } catch(Exception ex) {MessageBox.Show(ex.Message);}
bu 2.inci kod daha kolay anlamını sağlar
using (SqlConnection sqlConn = new SqlConnection(builder.ConnectionString)) { sqlConn.Open(); SqlDataAdapter sql = new SqlDataAdapter( "SELECT Picture FROM Pictures WHERE Pictures.CardID=5", sqlConn); DataSet ds1 = new DataSet(); sql.Fill(ds1, "Pictures"); DataRow dr = ds1.Tables["Pictures"].Rows[0]; byte[] result = (byte[])dr["Picture"]; int ArraySize = result.GetUpperBound(0); MemoryStream ms = new MemoryStream(result, 0, ArraySize); pictureBox1.Image = Image.FromStream(ms); sqlConn.Close(); } - 05-07-2015, 18:52:58öncelikle ilginize çok teşekkür ederimdinamityazilim adlı üyeden alıntı: mesajı görüntüle

denedim ancak olmadı, başka kaynaklarda da hatta videolar da da buna benzer kodlar vardı her birini denedim ancak bir türlü olmadı. En iyisi dosya yoluyla şansımı deneyeyim
