• 05-07-2015, 05:43:12
    #1
    Merhaba. mySQL veritabanıma bilgisayarımdan resim yükledim ancak bu resimleri formda nasıl gösterebilirim bi türlü beceremedim. Nasıl bir yol izlemem gerek? Şimdiden teşekkürler.
  • 05-07-2015, 12:23:11
    #2
    Kimlik 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
    #3
    Burhan_957 adlı üyeden alıntı: mesajı görüntüle
    Veritabanına resimi nasıl kaydediyorsun? Bitmap olarak mı yoksa direk resim yolunu mu kaydediyorsun ?
    [BLOB - 13 B] yazıyor, tıklanabilme özelliği de var gibi sanıyorum bitmap olarak
  • 05-07-2015, 17:04:56
    #4
    Üyeliği durduruldu
    Akif95 adlı üyeden alıntı: mesajı görüntüle
    Merhaba. mySQL veritabanıma bilgisayarımdan resim yükledim ancak bu resimleri formda nasıl gösterebilirim bi türlü beceremedim. Nasıl bir yol izlemem gerek? Şimdiden teşekkürler.
    picturebox.imagelocation = resim adı ve resim yolu
  • 05-07-2015, 17:16:17
    #5
    dinamityazilim adlı üyeden alıntı: mesajı görüntüle
    picturebox.imagelocation = resim adı ve resim yolu
    resmi 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?
  • 05-07-2015, 17:24:59
    #6
    Üyeliği durduruldu
    Akif95 adlı üyeden alıntı: mesajı görüntüle
    resmi 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?
    kardeş benden sana bir tavsiye byte işinden uzak dur veri tabanını çok şişiriyor ben yapmıştım bir ara
  • 05-07-2015, 17:31:27
    #7
    dinamityazilim adlı üyeden alıntı: mesajı görüntüle
    kardeş benden sana bir tavsiye byte işinden uzak dur veri tabanını çok şişiriyor ben yapmıştım bir ara
    hocam siz yinede bahsedebilirmisiniz biraz nasıl yapıldığından ?
    Daha sonra randıman alamazsam da dosya yoluyla denerim
  • 05-07-2015, 17:38:10
    #8
    Üyeliği durduruldu
    Akif95 adlı üyeden alıntı: mesajı görüntüle
    hocam siz yinede bahsedebilirmisiniz biraz nasıl yapıldığından ?
    Daha sonra randıman alamazsam da dosya yoluyla denerim
    geç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 burdakide

    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
    #9
    dinamityazilim adlı üyeden alıntı: mesajı görüntüle
    geç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 burdakide

    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();
    }
    öncelikle ilginize çok teşekkür ederim

    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