Anasayfa » Forum

Database resim kayd...
 

Database resim kaydetme  

  RSS
Yıldırım bakar
(@yildirimbakar)
Üye

Merhaba Arkadaşlar;
Resim'i database'ye kaydederken resim seçmeden boş kaydetmeye kalktığımda null olamaz diye uyarı veriyor.
sql tarafında null kaydetme izni var. Resim boş olsada nasıl kaydedebilirim acaba?
private void buttonKaydet_Click(object sender, EventArgs e)
        {
FileStream fs = new FileStream(Resimpath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] resim = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
baglanti = new SqlConnection("Server=''; Database= ''; User Id = ''; Password = ''");
baglanti.Open();
cmd = new SqlCommand("insert into Malzemeler(MLZKODU,RESIM) values (@Kodu,@Resim)", baglanti);
cmd.Parameters.AddWithValue("@Kodu", textBoxMlzKodu.Text);
cmd.Parameters.Add("@Resim", SqlDbType.Image, resim.Length).Value = resim;
cmd.ExecuteNonQuery();
MessageBox.Show("Kayıt eklendi");

Alıntı
Gönderildi : 27/12/2018 4:43 pm
Ali UYSAL
(@aliuysal)
Kıdemli Üye Forum Yöneticisi

Merhabalar;

SQL tarafında allow null seçili ise Null kayıt yapılamaması için hiç bir sebep yok, fakat illa ki uğraştıracaksa boş değer 0x kayıt yapabilirsiniz.

Dijital dönüşüm başlıyor...
El Terminali

CevapAlıntı
Gönderildi : 27/12/2018 11:55 pm
Yıldırım bakar
(@yildirimbakar)
Üye

Merhaba Ali bey;

Aşağıdaki satırda hata veriyor.Yol null olamaz. Parametre adı:path diyor. Yani illaki picturebox'a bir resim eklememi istiyor. Ben hiç resim eklemesemde diğer verilerin kaydolmasını istiyorum.Resim databasede null olsun.

FileStream fs = new FileStream(Resimpath, FileMode.Open, FileAccess.Read);

 

 

CevapAlıntı
Gönderildi : 28/12/2018 1:12 pm
Ali UYSAL
(@aliuysal)
Kıdemli Üye Forum Yöneticisi

Aşağıdaki örnekte olduğu gibi yapabilirsiniz. Else ye istediğiniz değerleri ekleyerek kayıt ettirirsiniz.

 

 

private void button3_Click(object sender, EventArgs e)
{
baglanti = new SqlConnection("Server=''; Database= 'Test'; User Id = ''; Password = ''");
baglanti.Open();

byte[] resim = null;
int lng = 0;
if (Resimpath != null)
{
FileStream fs = new FileStream(Resimpath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
resim = br.ReadBytes((int)fs.Length);
lng = resim.Length;
br.Close();
fs.Close();
cmd = new SqlCommand("insert into Test1(img) values (@Resim)", baglanti);
cmd.Parameters.Add("@Resim", SqlDbType.Image, lng).Value = resim;
cmd.ExecuteNonQuery();
}
else
{
string _sql = string.Format("insert into Test1(img) values (NULL)");
cmd = new SqlCommand(_sql, baglanti);
cmd.ExecuteNonQuery();
}

MessageBox.Show("Kayıt eklendi");

Dijital dönüşüm başlıyor...
El Terminali

CevapAlıntı
Gönderildi : 04/01/2019 5:43 pm
Yıldırım bakar
(@yildirimbakar)
Üye

Teşekkür ederim Ali bey.

CevapAlıntı
Gönderildi : 25/01/2019 8:23 pm
Paylaş:
  
Çalışıyor

Lütfen Giriş yap yada Kayıt ol