Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BTP206 – Görsel Programlama II VeriTabanı İşlemleri II 1.

Benzer bir sunumlar


... konulu sunumlar: "BTP206 – Görsel Programlama II VeriTabanı İşlemleri II 1."— Sunum transkripti:

1 BTP206 – Görsel Programlama II VeriTabanı İşlemleri II 1

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 2

3 3. Programı yazalım a)Projemize yeni bir veritabanı dosyası ekleme b)Öğrencileri görüntüleme c)Yeni öğrenci ekleme d)Öğrenci bilgilerini değiştirme e)Bir öğrenciyi silme f)Bir öğrencinin aldığı bütün dersleri görüntüleme 3

4 c) Yeni öğrenci ekleme 4

5 “frmNewStudent” adında yeni bir form 5 tbFirstName tbLastName calBirthDay numAge btnOK with DialogResult = OK btnCancel with DialogResult = Cancel

6 StudentsTableAdapter nesnesini sürükle-bırak yöntemiyle forma ekleme 6

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); 7

8 Ana forma yeni bir buton ekleme 8

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); } 9

10 Programın çalışması 10

11 “New Student” butonuna çift tıklanır, veriler girilir, ve OK butonuna basılır 11

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. 12

13 Öğrenci bilgisi değiştirme 13

14 "frmNewStudent” benzer şekilde yeni bir “frmChangeStudent” formu oluşturun 14

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. 15

16 Sınıf tanımlama içinde, “prop” yaz 16

17 2 defa “Tab” tuşuna bas 17

18 Özelliğin tipi “int” ve ayarlı, bu yüzden “Tab” taşuna bas 18

19 Özelliğin ismini“StudentID” olarak belirle 19

20 Bütün boşluklar dolduruldu, “Enter”tuşuna bas. Özellik hazır! 20

21 Kontrolleri bağlama 21

22 “First Name” text box’ını seç. Özellikler penceresindeki “DataBindings” bölümüne bak 22

23 Textbox’ın text özelliği bağlanmak isteniyor, Bu yüzden “Text” kısmını seç 23

24 Sağdaki ok işaretini tıkla 24

25 “Other Data Sources”’un yanındaki + işaretine tıkla 25

26 “Project Data Sources”’ın yanındaki + işaretine tıkla 26

27 “SchoolDataSet”’ın yanındaki + işaretine tıkla 27

28 “Students”ın yanındaki + işaretine tıkla ve “FirstName” alanını seç 28

29 Text şu an bağlandı ve 3 kontrol gözüküyor 29

30 “Last Name” text box’ını bağla 30

31 Takvim nesnesinin “Value” ( “Text” değil) özelliğini bağla 31

32 numeric up/down nesnesinin “Value” özelliğini bağla 32

33 Formun “Load” olayına “Fill”kodu eklenir 33

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); 34

35 Formun Load olayı 35

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. 36

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. 37

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); 38

39 Bütün kodlar 39

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. 40

41 Seçili öğrencinin ID bilgisini tespit DataGridView nesnesi üzerinden seçili öğrencinin ID bilgisi 2 yolla tespit edilir: 1.Seçili satırın ilk hücresi veya DataGridView üzerinden tespit edilir. 2. binding source nesnesi üzerinden ID tespit edilir. 41

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. 42

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; 43

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. 44

45 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); } 45

46 Programı çalıştırın, bir öğrenci seçip, “Change Student” butonuna tıklayın 46

47 Öğrenci bilgisi görünür: 47

48 Değişkenleri değiştirip OK butonuna basın 48

49 Veri değişti! 49

50 e) Bir öğrenci silmek 50

51 Ana form üzerine “Delete Student” adında yeni bir buton ekleyin 51

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); 52

53 f) Bir öğrencinin aldığı bütün dersleri görüntüleme 53

54 Forma “Display Courses” adında yeni bir buton ekleyin 54

55 “frmStudentCourses” adında yeni bir form oluşturun 55

56 DataGridView nesnesinin veri kaynağını “Courses” olarak seçin 56

57 coursesTableAdapter nesnesinin içindeki “Add Query…” komutuna tıklayın 57

58 Query name kutusu içerisine “FillByStudentID” yazın ve “Query Builder” tıklayın 58

59 Boş bir alanda sağ tıklayın ve “Add Table…” komutunu seçin 59

60 Enrolment ve Students tablolarını seçip Add butonuna tıklayın 60

61 Tablolar Query Builder içinde gözüktü, Close butonuna basın 61

62 Tablolar otomatik olarak CourseID ve StudentID alanlarına bağlandı 62

63 Boş bir kolon “Column”(kolon) hücresini seçip “Students.StudentID” olarak belirleyin 63

64 Kolonun “Filter” özelliğine gelin ve “=?” yazın 64

65 Kolonun “Output” özelliğine gelin ve check box kutusunu temizleyin 65

66 Eğer yazılan sorgu çalıştırılmak istenseydi, OK butonuna basılıp önceki sayfaya gidilmesi gerekirdi 66

67 OK butonuna basın ve programa geri dönün 67

68 toolstrip seçin ve silin 68

69 Kod görünümüne geçin ve StudentID adıdna yeni bir özellik ekleyin 69

70 Formun load olayına gelin ve kodu değiştirin 70

71 Ana forma geri dönün ve “Display Courses” butonuna çift tıklayın 71

72 Click olayı içerisine aşağıdaki kod bloğunu yazın 72

73 Programı çalıştırın, bir öğrenci seçin, ve “Display Courses” butonuna tıklayın 73

74 Öğrenciler tarafından alınan dersler görüntülendi ama öğrencilerin isim ve soy isimleri gözükmüyor 74

75 “First Name” labelini seçin ve bunun Text özelliğini aşağıdaki gibi “FirstName” alanına bağlayın 75

76 “Last Name” labelini seçin ve bunun Text özelliğini aşağıdaki gibi “LastName” alanına bağlayın 76

77 Load olayına gelin ve Fill metodunu FillByStudentID metoduyla değiştirin 77

78 Programı çalıştırın, bir öğrenci seçin, ve “Display Courses” butonuna tıklayın 78

79 Öğrencinin isim ve soy isim bilgisi görüntülendi! 79


"BTP206 – Görsel Programlama II VeriTabanı İşlemleri II 1." indir ppt

Benzer bir sunumlar


Google Reklamları