En iyi yanıtlayıcılar
DataGridView de varBinary(MAX) olarak kaydedilen veriyi gosterirken yaşanılan sorun

Soru
-
Merhaba, ben datagridview'e veritabanından aşağıdaki kod ile gösterme işlemi yaptım.
using (SqlConnection baglanti = new SqlConnection(...)) { DataTable tabloUc = new DataTable(); onay = true; string komutKodu= "kodu altındaki resimde"; using (SqlDataAdapter da = new SqlDataAdapter(komutKodu, baglanti)) { da.Fill(tabloUc); dataGridView1.DataSource = tabloUc; } }
Aşağıda komut kodu adlı değişkenin içeriği vardır. (Daha anlaşılır görünmesi adına ayrı yaptım)
Aslında daha öncesinde kodumda bir problem yoktu. Ve bu arada "ZZWORKPIC" adlı tabloda "PIC" adlı alan adı veri tipi varbinary(MAX) şeklinde. ZZWORKPIC adlı tabloyu bir süre denemek için kayıtları silmemiştim. Şimdi ise tabloyu sildim ve önceki tablo ile ilgili aynı tipte ve değerde tablo oluşturdum. Orijinal verileri ekledim. Şimdi datagridviewde gösterirken aşağıdaki gibi hata alıyorum. Yardımcı olursanız çok sevinirim.
Aşağıdaki hata, her değer geldiğinde eğer "PIC" alan adında veri var ise her veri için tekrar çıkıyor.
Aşağıdaki durum ise daha önceden boş görünürken şu an böyle bir simge görünüyor.
Mutlaka gözümden kaçmış bir şey var. Yardımcı olursanız tekrardan çok sevinirim. İyi günler :)
Merak et, Araştır, Geliştir. Harun Yılmaz
- Düzenleyen Harun Yılmaz 9 Eylül 2019 Pazartesi 08:41
Yanıtlar
-
O alanda sadece goruntu olduguna emin misin? Araya bir dxf, pdf, word, ... yani resim olmayan bir dosya girmiş olmasın?
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 9 Eylül 2019 Pazartesi 12:30
- Yanıt Olarak Öneren Cihan YakarMVP 10 Eylül 2019 Salı 07:48
- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:57
-
AddWithValue kullanma, Add kullan ve halihazirdaki kayıtların hepsinin resim oldugundan emin ol (ornegin ayni kodu hiç değiştirmeden sadece where ekleyerek, resim oldugundan emin oldugun kayıtlarla deneyebilirsin - ya da benim yaptıgım gibi yap, o kayıtları SSMS'de incele, hepsinde bir resim header mi var).
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:57
-
Anlasamiyoruz :) Ben tablo yapısında sorun var demedim. Araya bir tane resim olmayan "PIC" karismadigindan emin ol dedim. Mesaja gore resim olmayan bir seyi resim gibi islemeye kalkıyor.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Peki burada olan duruma nasıl müdahele edebilirim
Edit: Yani veritabanına pdf dosya yolunu varbinary olarak kaydediyorum. Sonra bi datagrid vasıtasıyla "pdfin dosya yolunu" datagridviewde gösteriyorum çünkü başka forma datagridin seçilen nesnesinin pdf dosya yolunu datagridden çekiyorum ve o formda pdfviewer yardımıyla gösteriyorum. Durumum bu. Ve demek istediğim o ki bu hatayı nasıl düzeltebilirim.
Merak et, Araştır, Geliştir. Harun Yılmaz
Datagridview, sen soylemedikce, varbinary(max) alaninda resim sakladigini kabul edip onu goruntuluyor.
dgv'de senin göstermen gereken path (neden dosyanın kendisini degil de pathini sakladigini en iyi sen bilirsin, normalde istenen bir şey degil):
Select ..., cast(PIC as varchar(2000)) as PIC ...
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 10 Eylül 2019 Salı 14:00
- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:56
-
cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(dosyaSec.FileName));
Bu satırı daha sonra değiştirmediyseniz, dosyanın kendisini saklıyorsunuz, yolunu değil.
- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:58
Tüm Yanıtlar
-
O alanda sadece goruntu olduguna emin misin? Araya bir dxf, pdf, word, ... yani resim olmayan bir dosya girmiş olmasın?
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 9 Eylül 2019 Pazartesi 12:30
- Yanıt Olarak Öneren Cihan YakarMVP 10 Eylül 2019 Salı 07:48
- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:57
-
using (SqlConnection connection = new SqlConnection(...)) { SqlCommand cmd = new SqlCommand("insert into ZZWORKPIC (PIC,WORKID) values (@resim, @parcaID)", connection); cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(dosyaSec.FileName)); cmd.Parameters.AddWithValue("@parcaID", textBox3.Text); connection.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("başarılı"); connection.Close(); }
Kayıt işlemini bu kodlarla yapıyorum
Merak et, Araştır, Geliştir. Harun Yılmaz
-
AddWithValue kullanma, Add kullan ve halihazirdaki kayıtların hepsinin resim oldugundan emin ol (ornegin ayni kodu hiç değiştirmeden sadece where ekleyerek, resim oldugundan emin oldugun kayıtlarla deneyebilirsin - ya da benim yaptıgım gibi yap, o kayıtları SSMS'de incele, hepsinde bir resim header mi var).
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:57
-
Hocam dediklerinizi inceleyeceğim fakat daha önce de benim "ZZWORKPIC" adlı tablom vardı ve içindeki alan adları ve tipleri aynıydı. İçi denemelerle dolu olduğu için direk tabloyu sildim ve yeni bir tablo oluşturdum. Aynı isimde ve aynı alan adı veri tipleriyle.
Merak et, Araştır, Geliştir. Harun Yılmaz
-
Anlasamiyoruz :) Ben tablo yapısında sorun var demedim. Araya bir tane resim olmayan "PIC" karismadigindan emin ol dedim. Mesaja gore resim olmayan bir seyi resim gibi islemeye kalkıyor.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
Anladım hocam :) kontrol ettikten sonra duruma bağlı bir geri dönüş yapacağım.
Edit: Pdflerin dosya yolunu kaydediyorum.
Merak et, Araştır, Geliştir. Harun Yılmaz
- Düzenleyen Harun Yılmaz 10 Eylül 2019 Salı 06:38
-
Anladım hocam :) kontrol ettikten sonra duruma bağlı bir geri dönüş yapacağım.
Edit: Pdflerin dosya yolunu kaydediyorum.
Merak et, Araştır, Geliştir. Harun Yılmaz
- Düzenleyen Cihan YakarMVP 10 Eylül 2019 Salı 07:49
-
Anlasamiyoruz :) Ben tablo yapısında sorun var demedim. Araya bir tane resim olmayan "PIC" karismadigindan emin ol dedim. Mesaja gore resim olmayan bir seyi resim gibi islemeye kalkıyor.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Peki burada olan duruma nasıl müdahele edebilirim
Edit: Yani veritabanına pdf dosya yolunu varbinary olarak kaydediyorum. Sonra bi datagrid vasıtasıyla "pdfin dosya yolunu" datagridviewde gösteriyorum çünkü başka forma datagridin seçilen nesnesinin pdf dosya yolunu datagridden çekiyorum ve o formda pdfviewer yardımıyla gösteriyorum. Durumum bu. Ve demek istediğim o ki bu hatayı nasıl düzeltebilirim.
Merak et, Araştır, Geliştir. Harun Yılmaz
- Düzenleyen Harun Yılmaz 10 Eylül 2019 Salı 09:21
-
Anlasamiyoruz :) Ben tablo yapısında sorun var demedim. Araya bir tane resim olmayan "PIC" karismadigindan emin ol dedim. Mesaja gore resim olmayan bir seyi resim gibi islemeye kalkıyor.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Peki burada olan duruma nasıl müdahele edebilirim
Edit: Yani veritabanına pdf dosya yolunu varbinary olarak kaydediyorum. Sonra bi datagrid vasıtasıyla "pdfin dosya yolunu" datagridviewde gösteriyorum çünkü başka forma datagridin seçilen nesnesinin pdf dosya yolunu datagridden çekiyorum ve o formda pdfviewer yardımıyla gösteriyorum. Durumum bu. Ve demek istediğim o ki bu hatayı nasıl düzeltebilirim.
Merak et, Araştır, Geliştir. Harun Yılmaz
Datagridview, sen soylemedikce, varbinary(max) alaninda resim sakladigini kabul edip onu goruntuluyor.
dgv'de senin göstermen gereken path (neden dosyanın kendisini degil de pathini sakladigini en iyi sen bilirsin, normalde istenen bir şey degil):
Select ..., cast(PIC as varchar(2000)) as PIC ...
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 10 Eylül 2019 Salı 14:00
- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:56
-
cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(dosyaSec.FileName));
Bu satırı daha sonra değiştirmediyseniz, dosyanın kendisini saklıyorsunuz, yolunu değil.
- Yanıt Olarak İşaretleyen Harun Yılmaz 11 Eylül 2019 Çarşamba 05:58
-
cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(dosyaSec.FileName));
Bu satırı daha sonra değiştirmediyseniz, dosyanın kendisini saklıyorsunuz, yolunu değil.
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
cmd.Parameters.AddWithValue("@resim", File.ReadAllBytes(dosyaSec.FileName));
Bu satırı daha sonra değiştirmediyseniz, dosyanın kendisini saklıyorsunuz, yolunu değil.
Ups.. :) bu konuyla alakalı daha ilk defa işlem yaptığımdan dosya yolunu kaydettiğimi zannediyorum :)
Merak et, Araştır, Geliştir. Harun Yılmaz
-
-