Sa arkadaşlar. access veritabanı kullanıyorum.. bir tabloda iki veriyi kontrol ettirip veri varsa eğer kayıt var uyarsı verdirmek istiyorum yoksa veritabanına girilen verileri kayıt yaptırsın istiyorum.. Mesela şöyle ürünün adını kontrol edecek sonra bu ürün adının aynı ürün modeli var ise uyarı mesajı versin istiyorum
baglanti.Open(); OleDbCommand sec = new OleDbCommand("select count(adi) from stok",baglanti); int sayi = (int)sec.ExecuteScalar(); baglanti.Close(); if (sayi != 0) { MessageBox.Show("Aynı Stok Adında Kayıt Yapamazsınız. Aynı Stok var İse Güncelleme Yapınız"); }else{ insert işlemleri..
bu kod işimi görüyor veri tabanında aynı ad ile kayıt yaptıramıyorum benim istediğim bu değil.. aynı ürün adının farklı modelleri olabiliyor onun için adı kontrol ederken modeline de baksın istiyorum.. Şimdi diyeceksiniz o zaman sadece modeli kontrol ettir o zaman da şöyle sıkıntı çıkıyor. A ve B markası düşünün bu iki markanın aynı ürün modeli de olabiliyor. Yani ilk ürün adına bakacak sonra modele bakacak bu ürün adının aynı modeli varsa ekranda uyarı verecek. Ürün adı var ama modelleri değişik ise kayıt yapsın istiyorum.. Kusura bakmayın umarım anlatabilmişimdir. Yardımlarınızı rica ediyorum yukarıdaki koda nasıl bir ekleme yapabilirim.
Ben mi yanlış görüyorum acaba saat ilerledi diye "adi" kolonundaki verilerin sayısını almışsınız count ile ve 0 dan büyükse "Aynı Stok Adında Kayıt Yapamazsınız. Aynı Stok var İse Güncelleme Yapınız" uyarısı verdirmişsiniz ve de bu kod işimi görüyor yazmışsınız Tabloda kayıt oldukça ve bu kayıtlarda adi kolonu dolu oldukça zaten sürekli if'in içine girecek. Önceki sorunuzu da hatırlayınca bence sql komutların iyice gözden geçirmenizde fayda var. Özellikle select sorgularıyla ilgili ders videoları izlemeni tavsiye ederim. Store procedure function trigger için belki şimdilik çok erken ama en azından joinli sorgulara kadar hatmedin.
Neyse bir tabloda 1-2 veya daha da fazla değeri kontrol için where ifadesi ekliyorum. Kolon isimlerini bilmiyorum sallayacağım örn: "Select * from stok where adi=@isim AND model=@model" şeklinde sorgu yazarsın. Parametre olarak da isim ve model'e işte kontrol ettireceğin isimle modeli gönderirsin. Buradan sonuç dönüyorsa vardır.Yoksa yoktur geriye insert işlemleri kalıyor. Sanırım insert yaparken de sorguyu parametreli değil direk string içine yazarak gönderiyorsun, öyle yapma parametre kullan. SqlCommand command = new SqlCommand(commandText, connection); command.Parameters.Add("@isim", SqlDbType.Nvarchar).Value = txtIsim.Text; gibi mesela.