c# form aplicationda ben şimdi bir proje yapıyorum. Ders için yemek programı malzemeleri kullanıcı veritabanından alıyor sonrada bu malzemelerden bu yemek yapılır demem lazım ama yapamıyorum örneğini attım. patlıcan kıyma domates malzemeleri gircem bana imam bayıldı ve oturtma sonucunu vercek bunları veritabanından alcam ama yapamıyorum.
Buna benzer hatta aynı mvc projem vardı algoritma konusunda yardımcı olabilirim
alpmirza
kullanıcısına yanıt
bende algoritma konusunda zayıfım sorduğum soruyla ilgili nasıl bir algoritma kurmam gerek sence
yardımcı olabilir misiniz bana
merhaba sizin bir tür arama alanı yapmanız gerekiyor.
öncelikle yemek tariflerini malzemeler kısmı ile kaydetmelisiniz. daha sonra arama kısmında " bana içinde şu malzemeler olanları göster" mantığı ile hareket etmelisiniz. eğer veri tabanı üzerinde çalışacaksanız datagridview ile yemeklerin listesini oluşturabilirsiniz.böylece grid view eventleri sayesinde yemek ismine tıklandığında açılan ufak bir pencere de detaylı tarifi görebilirsiniz orası size kalmış.
gelelim mantık kısmına.programınız anladığım kadarıyla 2 bölümden oluşuyor ilk kısım yemek tariflerinin kaydı ikinci kısım ile tariflerin listelendiği arama yapacağımız yer.veri tabanında yemekleri kaydederken diyelimki yemekler isimli bir table da malzemeler diye bir column olsun ve tüm malzemeler bu kolon içine kaydedilsin.yemeklerin ismi yemek ismi kolonuna tarifler de tarifler kolonuna kaydedilsin.
sizin bu şekilde 3 başlıklı bir veri tablosu table ınız olacak siz datagridview de yemek isimlerini listeleyeceksiniz,yemek ismine tıklandığında da yemek ismi malzemeler ve tarifi listelendireceksiniz
sql veritabanında malzeme ismi arama işlemini şu şekilde yapabilirsiniz:
SqlConnection baglan = new SqlConnection();//bağlan adında bir sql bağlantısı tanımladık
baglan.ConnectionString = "Data Source=veritabaninizin_oldugu_server;Initial Catalog=database_ismi;User Id=Kullanici_adiniz;Password=sifreniz;"; // veritabanına bağlandık lokal veri tabanı kullanmak için google da local sql connection string örneklerine bakabilirsiniz
DataTable tablo = new DataTable();//tablo isminde bir veri tutucu oluşturduk
SqlDataAdapter adp = new SqlDataAdapter("SELECT yemekisimleri FROM yemekler WHERE malzemeler LIKE '%" + AramaTextboxIsmi.Text + "%' ", baglan); // veri tabanında yemekler tablosuna gidip malzemeler kısmında arama kutumuzda yazana benzeyenlerin yemekisimleri ni seçtik.
baglan.Open();//nokta atışı bağlantımızı açtık adp.Fill(tablo);//tabloda ki veriyi adaptör ile bağlanıp tablo içeriğine doldurduk dataGridView.Columns.Clear();// listemizi temizledik çünkü textbox içeriği değişirse aynı isimler üst üste listelenmesin dataGridView.DataSource = tablo;//datagridview veri kaynağını gösterdik dataGridView.Columns[0].HeaderText = "Yemek İsimleri"; // liste başlığımızı belirttik baglan.Close();// bağlantımızı kapattık
yapmanız gereken bunu arama için kullanacağınız texbox un texbox text changed eventinde kullanmak.