logo


Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
mehmetzekikir  
#1 Gönderildi : 21 Şubat 2015 Cumartesi 09:34:37(UTC)
mehmetzekikir

Sıralama: Administration

Gruplar: Administrators
Katılan: 6.05.2014(UTC)
Mesajlar: 670

19 Kere Teşekkür Etti.
152 Mesajına Toplam 253 Kere Teşekkür Edildi.
Bu makele için Bilgehan YILDIZ' a teşekkürler

1-)Şöyle bir senaryomuz olsun

-Bir KisiID,Ad,Soyad vs.. bilgilerinin tutulduğu Kisi tablomuz
-KisiID,Username,Password bilgilerinin tutulfuğu Login tablomuz

Yaratılan bir kişinin sisteme sadece bir tane kullanıcı adına sahip olarak gireceğini varsayalım

Bu şekilde Kisi tablosunda KisiIDOtomatik Artan,Birincil anahtar

Login tablosundaki KisiIDotomatik Artmaz ancak birincil anahtar(Çünkü Kişiye bağlı olmayan kullanıcı adı olamaz)

Bu iki tablo arasında 1-1 İlişki olduğunu varsayalım

2-) Yapmak istediğimiz şu,kullanıcı Adı ve şifre girildiği zaman buna uygun kayıt login tablosunda var ise buna bağlı kişinin adı ve soyadını alttaki textboxlara yazdırmak,eğer loginde böyle bir kullanıcı yok ise Message Box ile uyarı verdirtmek olsun

UserPostedImage

3-)Burada değişik olan geçen seferkinden bir sorguda iki tablodan çalışıyorum birbirlerine bağlı

2- olarakda Sqldataadapter nesnesinin parametre alması için

Eğer fill gibi (Select işlemi yapacaksan isen) aşağıdaki gibi adapterın select commandına parametre eklemen gerekiyor.
adap.SelectCommand.Parameters.AddRange(paramloginlist);

Burada da biz tablolar arasında birebir ilişki olcak dersek(Bu senaryo için

Sorgu sonucu 1 kayıt döncek ve ben de aşağıdaki gibi datatablemın 0 rowunun ad adlı sutunun değerini okutarak atama yapıyorum
txtAd.Text = dtlogininformation.Rows[0]["Ad"].ToString();



Kod:

  string baglantiyolu = ConfigurationManager.ConnectionStrings["TelefonRehberiConnectionString"].ConnectionString;

            SqlConnection conn = new SqlConnection(baglantiyolu);

            string sorgulogin = "Select * from Login  inner join Kisi On Kisi.KisiID=Login.KisiID where UserName=@Username and Password=@Password";

            SqlParameter[] paramloginlist=new SqlParameter[2];

            paramloginlist[0]=new SqlParameter("@Username",txtUsername.Text);

            paramloginlist[1]=new SqlParameter("@Password",txtPassword.Text);

            DataTable dtlogininformation=new DataTable();

            SqlDataAdapter adap = new SqlDataAdapter(sorgulogin,conn);

            //adap.SelectCommand = new SqlCommand(sorgulogin);
            //adap.SelectCommand.Connection = conn;

            adap.SelectCommand.Parameters.AddRange(paramloginlist);

            adap.Fill(dtlogininformation);

            if (dtlogininformation.Rows.Count > 0)
            {
                txtAd.Text = dtlogininformation.Rows[0]["Ad"].ToString();
                txtSoyadi.Text = dtlogininformation.Rows[0]["Soyad"].ToString();
            }
            else 
            {
                MessageBox.Show("Böyle kullanıcı adı -şifre eşleşen kayıt bulunamadı");
            }


Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınız

twitter.com/dbakademi
Dua ve teşekkür en büyük servetlere bedel...


Bu konudaki kullanıcılar
Guest
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.