Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
BTP206 – Görsel Programlama II
VeriTabanı İşlemleri II
2
İçerik Veritabanına yeni bir kayıt ekleme
Var olan bir kaydı değiştirme Bir kaydı silme Çoklu tablolardan veri görüntüleme
3
3. Programı yazalım Projemize yeni bir veritabanı dosyası ekleme
Öğrencileri görüntüleme Yeni öğrenci ekleme Öğrenci bilgilerini değiştirme Bir öğrenciyi silme Bir öğrencinin aldığı bütün dersleri görüntüleme
4
c) Yeni öğrenci ekleme
5
“frmNewStudent” adında yeni bir form
tbFirstName tbLastName calBirthDay numAge btnOK with DialogResult = OK btnCancel with DialogResult = Cancel
6
StudentsTableAdapter nesnesini sürükle-bırak yöntemiyle forma ekleme
7
Ok butonuna çift tıklanır ve aşağıdaki kod bloğu yazılır
studentsTableAdapter1.Insert( tbFirstName.Text, tbLastName.Text, calBirthDay.Value, (short)numAge.Value);
8
Ana forma yeni bir buton ekleme
9
Butona çift tıklanır ve aşağıdaki kod bloğu yazılır:
frmNewStudent frm = new frmNewStudent(); DialogResult result = frm.ShowDialog(); if (result == DialogResult.OK) { studentsTableAdapter.Fill( schoolDataSet.Students); }
10
Programın çalışması
11
“New Student” butonuna çift tıklanır, veriler girilir, ve OK butonuna basılır
12
Bazı notlar Eğer programı kapattıktan sonra, programınızda bazı değişiklikler yapıp daha sonra tekrar derleyip çalıştırırsanız, son eklediğiniz kayıtların silinmiş olduğunu göreceksiniz! Bunun nedeni, programınızı her derlediğinizde, orijinal veritabanı dosyası Debug klasörüne kopyalanır ve yaptığınız her işlem bu kopya üzerinde gerçekleşmesidir.
13
Öğrenci bilgisi değiştirme
14
"frmNewStudent” benzer şekilde yeni bir “frmChangeStudent” formu oluşturun
15
Kontrollere veri bağlama
Kontrolleri veri ile doldurmak için,kontrollerin içeriğini değiştirmek yerine data binding özelliği kullanılır. frmChangeStudent formu, seçilen öğrencinin bilgilerini görmek için StudentID bilgisine ihtiyacı vardır. Bu amaç için, frmChangeStudent formu içerisinde yeni bir property(özellik) oluşturulur. Bu özellik, student ID’yi ana formdan frmChangeStudent formuna transfer eder.
16
Sınıf tanımlama içinde , “prop” yaz
17
2 defa “Tab” tuşuna bas
18
Özelliğin tipi “int” ve ayarlı, bu yüzden “Tab” taşuna bas
19
Özelliğin ismini“StudentID” olarak belirle
20
Bütün boşluklar dolduruldu, “Enter”tuşuna bas. Özellik hazır!
21
Kontrolleri bağlama
22
“First Name” text box’ını seç
“First Name” text box’ını seç. Özellikler penceresindeki “DataBindings” bölümüne bak
23
Textbox’ın text özelliği bağlanmak isteniyor, Bu yüzden “Text” kısmını seç
24
Sağdaki ok işaretini tıkla
25
“Other Data Sources”’un yanındaki + işaretine tıkla
26
“Project Data Sources”’ın yanındaki + işaretine tıkla
27
“SchoolDataSet”’ın yanındaki + işaretine tıkla
28
“Students”ın yanındaki + işaretine tıkla ve “FirstName” alanını seç
29
Text şu an bağlandı ve 3 kontrol gözüküyor
30
“Last Name” text box’ını bağla
31
Takvim nesnesinin “Value” ( “Text” değil) özelliğini bağla
32
numeric up/down nesnesinin “Value” özelliğini bağla
33
Formun “Load” olayına “Fill”kodu eklenir
34
“Fill” yerine“FillByStudentID”
Sadece tek bir öğrencinin verisi görüntülenmek istenebilir. Bunun için , Fill metodu yerine FillByStudentID metoduna ihtiyaç vardır. Satırı silin ve alttaki kodu yazın: this.studentsTableAdapter.FillByStudentID( this.schoolDataSet.Students, this.StudentID);
35
Formun Load olayı
36
OK Butonu Form görüntülendiğinde, kontroller üzerinde öğrencinin verisi görünür. Kullanıcı bu bilgileri değiştirir ve OK butonuna basar. Bu yüzden, OK butonunun Click olayı içerisine güncelleme kodunu yazmak gerekir.
37
Veritabanını güncelleme
Kullanıcı tarafından yapılan değişiklikler veri setine uygulanmak zorundadır. Bu işlem BindingSource nesnesinin EndEdit() metodu ile yapılır. Veri seti üzerindeki değişiklikler studentTableAdapter nesnesinin Update() metodu ile veritabanına uygulanır.
38
OK Butonu tıklama olayı
Ok butonuna çift tıklanır ve aşağıdaki kod bloğu yazılır: this.studentsBindingSource.EndEdit(); this.studentsTableAdapter.Update( this.schoolDataSet.Students);
39
Bütün kodlar
40
Student ID tespiti StudentID özelliği ile belirlenen öğrencilerin bilgileri görüntülenip güncellendi. Ancak, form gözükmeden önce bu özelliği ayarlamamız gerekir. Bu işlem ana form üzerinden yapılmalıdır.
41
Seçili öğrencinin ID bilgisini tespit
DataGridView nesnesi üzerinden seçili öğrencinin ID bilgisi 2 yolla tespit edilir: Seçili satırın ilk hücresi veya DataGridView üzerinden tespit edilir. binding source nesnesi üzerinden ID tespit edilir.
42
1. DataGridView üzerinden ID tespiti
int studentID = (int)dataGridView1.SelectedRows[0].Cells[0].Value; Bu kodun başarılı bir şekilde çalışması için DataGridView nesnesinin MultiSelect özelliği False ve SelectionMode özelliği FullRowSelect olarak ayarlanır.
43
2. Binding source üzerinden ID tespiti
DataGridView nesnesi içinde bir satır seçildiğinde, seçilen satır hakkında bilgi, binding source nesnesi içinde saklanır. StudentID tespiti aşağıdaki kod bloğu ile olur: DataRowView rowView = (DataRowView)studentsBindingSource.Current; SchoolDataSet.StudentsRow row = (SchoolDataSet.StudentsRow)rowView.Row; int studentID = row.StudentID;
44
frmChangeStudent dialog oluşturma ve student ID tespiti
Ana form üzerine “Change Student Info” metinine sahip yeni bir buton ekleyin. Bu butonun Click olayı içerisine bir sonraki slaytta verilen kod bloğunu yazın.
45
DataRowView rowView = (DataRowView)studentsBindingSource
DataRowView rowView = (DataRowView)studentsBindingSource.Current; SchoolDataSet.StudentsRow row = (SchoolDataSet.StudentsRow)rowView.Row; int studentID = row.StudentID; frmChangeStudent frm = new frmChangeStudent(); frm.StudentID = studentID; DialogResult result = frm.ShowDialog(); if (result == DialogResult.OK) { // Update the DataGridView: this.studentsTableAdapter.Fill(this.schoolDataSet.Students); }
46
Programı çalıştırın, bir öğrenci seçip, “Change Student” butonuna tıklayın
47
Öğrenci bilgisi görünür:
48
Değişkenleri değiştirip OK butonuna basın
49
Veri değişti!
50
e) Bir öğrenci silmek
51
Ana form üzerine “Delete Student” adında yeni bir buton ekleyin
52
Butona çift tıklayın ve aşağıdaki kod bloğunu yazın:
// Seçili satırı belirleme: DataRowView rowView = (DataRowView)studentsBindingSource.Current; SchoolDataSet.StudentsRow row = (SchoolDataSet.StudentsRow)rowView.Row; // Öğrenciyi silme: this.studentsTableAdapter.Delete(row.StudentID, row.FirstName, row.LastName, row.BirthDay, row.Age); // DataGridView güncelleme: this.studentsTableAdapter.Fill(schoolDataSet.Students);
53
f) Bir öğrencinin aldığı bütün dersleri görüntüleme
54
Forma “Display Courses” adında yeni bir buton ekleyin
55
“frmStudentCourses” adında yeni bir form oluşturun
56
DataGridView nesnesinin veri kaynağını “Courses” olarak seçin
57
coursesTableAdapter nesnesinin içindeki “Add Query…” komutuna tıklayın
58
Query name kutusu içerisine “FillByStudentID” yazın ve “Query Builder” tıklayın
59
Boş bir alanda sağ tıklayın ve “Add Table…” komutunu seçin
60
Enrolment ve Students tablolarını seçip Add butonuna tıklayın
61
Tablolar Query Builder içinde gözüktü, Close butonuna basın
62
Tablolar otomatik olarak CourseID ve StudentID alanlarına bağlandı
63
Boş bir kolon “Column”(kolon) hücresini seçip “Students
Boş bir kolon “Column”(kolon) hücresini seçip “Students.StudentID” olarak belirleyin
64
Kolonun “Filter” özelliğine gelin ve “=?” yazın
65
Kolonun “Output” özelliğine gelin ve check box kutusunu temizleyin
66
Eğer yazılan sorgu çalıştırılmak istenseydi, OK butonuna basılıp önceki sayfaya gidilmesi gerekirdi
67
OK butonuna basın ve programa geri dönün
68
toolstrip seçin ve silin
69
Kod görünümüne geçin ve StudentID adıdna yeni bir özellik ekleyin
70
Formun load olayına gelin ve kodu değiştirin
71
Ana forma geri dönün ve “Display Courses” butonuna çift tıklayın
72
Click olayı içerisine aşağıdaki kod bloğunu yazın
73
Programı çalıştırın, bir öğrenci seçin, ve “Display Courses” butonuna tıklayın
74
Öğrenciler tarafından alınan dersler görüntülendi ama öğrencilerin isim ve soy isimleri gözükmüyor
75
“First Name” labelini seçin ve bunun Text özelliğini aşağıdaki gibi “FirstName” alanına bağlayın
76
“Last Name” labelini seçin ve bunun Text özelliğini aşağıdaki gibi “LastName” alanına bağlayın
77
Load olayına gelin ve Fill metodunu FillByStudentID metoduyla değiştirin
78
Programı çalıştırın, bir öğrenci seçin, ve “Display Courses” butonuna tıklayın
79
Öğrencinin isim ve soy isim bilgisi görüntülendi!
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.