Forum
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");
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.
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);
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");
Teşekkür ederim Ali bey.