Forum

System.Data.SqlClie...
 
Bildirimler
Hepsini Temizle

[Çözüldü] System.Data.SqlClient.SqlException: 'Incorrect syntax near '='.' hatası

5 Yazılar
4 Üyeler
2 Likes
8,886 Görüntüleme
(@feridetuncer)
Gönderiler: 3
Active Member
Konu başlatıcı
 

Merhabalar,

Veritabanındaki kayıtlardan seçilen malzemelerin, seçilen alanlarındaki bilgileri toplu olarak güncelleyen bir sayfa tasarlıyorum. Örneğin 123,456,789 numaralı malzemelerin renk alanlarını siyah olarak güncellemek ve güncelleme işlemi tamamlandıktan sonra view da malzeme numaralarıyla, durumun görünmesini istiyorum. Bunun için controller da aşağıdaki kodları yazdım fakat System.Data.SqlClient.SqlException: 'Incorrect syntax near '='.' hatası alıyorum.

[HttpPost]
public ActionResult TopluVeriGuncelle(string alan, string bilgi, string mkodlari)
{
var durum = new List();
char[] split = { '\n', '\r' };
var mkod = mkodlari.Split(split, StringSplitOptions.RemoveEmptyEntries);
foreach (string malzemekod in mkod)
{
string sql = $"UPDATE tblMalzeme SET {alan}='{bilgi}' WHERE MALZEMEKODU=@malzemekod";
using(var db2=new dbMalzemeEntities7())
{
int s = db2.Database.ExecuteSqlCommand(sql, new SqlParameter("@malzemekod", malzemekod));
durum.Add(new MalzemeDurum { Malzeme = malzemekod, Durum = s });
}
}

return View(durum);
}

Hatayı aldığım satır : int s = db2.Database.ExecuteSqlCommand(sql, new SqlParameter("@malzemekod", malzemekod));

Yardımcı olur musunuz?

Şimdiden teşekkürler...

Bu konu 3 yıl önce 2 defa Feride Tuncer tarafından düzenlendi
 
Gönderildi : 22/08/2021 15:15

(@omercolakoglu)
Gönderiler: 66
Trusted Member
 

Bu işlemi çalıştırdığında profiler dan SQL Server'a hangi sorgunun gittiğine görebilir misin? Bir tırnak, virgül hatası gibi birşey var sanırım ama ürün koduna göre karşımıza çıkan bir hata gibi. Yani çalışan sorguyu görmemiz gerekiyor.

 

Management studio dan tools>sql profiler 

Connect ve start diyerek çalıştırabilirsin. Sorgu görünecek şekilde ekran görüntüsü atarsan yorumlayalım.

 
Gönderildi : 22/08/2021 22:12

(@serkanates)
Gönderiler: 1281
Üye
 

Alternatif olarak kodunuzu yeniden düzenleyip SQL'e göndermeden oluşan komutları text dosyaya yazdırıp inceleyin. mkodlari değişkeninizde uyumsuz veri oluşuyor olabilir. Dizi kullanıp diziye veriyi kontrollü aktarırsanız süreci daha doğru yönetebilirsiniz. Sınıf kullanmak daha doğru bir tercih olacaktır.

İyi çalışmalar.

 
Gönderildi : 23/08/2021 10:18

(@feridetuncer)
Gönderiler: 3
Active Member
Konu başlatıcı
 

@omercolakoglu , @SerkanAtes ilginiz için teşekkür ederim. Ben sorunu çözdüm. View kısmından ilgili parametreleri alamadığımdan null değer geldiği için hata veriyormuş. Çok basit bir gözden kaçırmadan kaynaklanıyormuş hata..

 
Gönderildi : 24/08/2021 13:57

(@enginkosova)
Gönderiler: 375
Üye
 

Geri bildirim için teşekkürler.

****************************************************************
Probleminiz çözüldüğünde sonucu burada paylaşırsanız,
sizin ile aynı problemi yaşayanlar için yardım etmiş olursunuz.
Eğer sorununuz çözüldü ise "çözüldü" olarak işaretlerseniz
diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 24/08/2021 14:18

Paylaş: