none
C# ta nasıl resimi veritabanına yüklerim RRS feed

  • Soru

  • S.a Arkadaşlar ben SQL Serverdan bir veritabanı oluşturdum Sütün ismine resim dedim veri türüne  image dedim şimdi C sharp üzerinde veritabanına nasıl resim eklelerim bide nasıl istediğim zaman resmi başka bir Formda görebilirim
    • Düzenleyen Zerhan 29 Mart 2012 Perşembe 12:32
    29 Mart 2012 Perşembe 12:29

Yanıtlar

  • SqlCommand cmd = new SqlCommand("insert into tabloAdi (resim) values (@resim)",connection);

    cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(< resimdosyasininadi >));

    29 Mart 2012 Perşembe 14:05
    Yanıtlayıcı

Tüm Yanıtlar

  • SqlCommand cmd = new SqlCommand("insert into tabloAdi (resim) values (@resim)",connection);

    cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(< resimdosyasininadi >));

    29 Mart 2012 Perşembe 14:05
    Yanıtlayıcı
  • S.a Çetin ilgilendiğin için teşekkür ederim  ama ben openFileDialog1 ekledim ven buttonuma şu kodları ekledim çalışmadı bide resmi pictureBox'a eklediğimde nasıl görüntüleyebilirim

                openFileDialog1.ShowDialog();
                SqlCommand cmd = new SqlCommand("insert into myTable (Picture) values (@Picture)",connection);
                cmd.Parameters.AddWithValue("@Picture", File.ReadAllBytes(openFileDialog1.FileName));

    3 Nisan 2012 Salı 15:36
  • Forumlarda verilen en garip cevap hep "calismadi" olmustur:) Calismayan ne? Ne hata mesaji aldin? Kodunun sadece boyle ufak parcasi degil daha genis hali nasil vs vs sorularinin cevabini verecegine "calismadi" demek pek yardimci olmuyor. Yanina bir de calismadigi halde ek soru:) Neyse. Soyle yaratilmis bir tablo var:

    create table myPicTable (
       picID int identity primary key,
       Picture varbinary(max)
    )

    Bu "calismayan" insert kodu:

    void Main()
    {
    	OpenFileDialog openFileDialog1 = new OpenFileDialog();
      openFileDialog1.ShowDialog();
      using(SqlConnection connection = new SqlConnection(@"server=.\SQLExpress;Trusted_connection=yes;Database=Test"))
      {
        SqlCommand cmd = new SqlCommand("insert into myPicTable (Picture) values (@Picture)",connection);
        cmd.Parameters.AddWithValue("@Picture", File.ReadAllBytes(openFileDialog1.FileName)); 
        connection.Open();
        cmd.ExecuteNonQuery();
        connection.Close();
      }
    }
    

    Bu da "calismayan" kodla veri tabanina eklenmis resmi PictureBox'ta gosteren kod:

    void Main()
    {
      byte[] mySavedPic; 
      using(SqlConnection connection = new SqlConnection(@"server=.\SQLExpress;Trusted_connection=yes;Database=Test"))
      {
        SqlCommand cmd = new SqlCommand("select top 1 Picture from  myPicTable",connection);
        connection.Open();
        mySavedPic = (byte[])cmd.ExecuteScalar();
        connection.Close();
      }
      MemoryStream ms = new MemoryStream(mySavedPic);
      
      Form f = new Form();
      PictureBox p = new PictureBox();
      p.SizeMode = PictureBoxSizeMode.StretchImage;
      p.Dock = DockStyle.Fill;
      p.Image = Image.FromStream(ms);
      f.Controls.Add( p );
      f.ShowDialog();
    }
    

    Bu kodlar gerekli namespaceler eklendiginde dogrudan LinqPad'e yazilip calistirilabilecek kodlar. Bende calisti. Sende calismazsa aldigin mesajlari filan soylersen sevinirim.
    4 Nisan 2012 Çarşamba 11:03
    Yanıtlayıcı