Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BTP206 – Görsel Programlama II

Benzer bir sunumlar


... konulu sunumlar: "BTP206 – Görsel Programlama II"— Sunum transkripti:

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!


"BTP206 – Görsel Programlama II" indir ppt

Benzer bir sunumlar


Google Reklamları