Proje Uygulaması Video Marketi Oluşturmak

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Proje Uygulaması Video Marketi Oluşturmak"

Transkript

1 Proje Uygulaması Video Marketi Oluşturmak Film Dünyası Video Marketi: Mevcut Senaryo Film Dünyası İstanbul da bir video şirketidir. Şirket film videoları satmakta ve de filmler hakkında bilgi vermektedir. Şirket Türkiye genelinde değişik şehirlerde dükkânlara sahiptir. Film Dünyası birkaç ay öncesine kadar video satış piyasasında tekel olmanın tadını çıkarıyordu. Şimdi şirketin film video piyasasında neden pay kaptırdığını anlamak için mevcut sistemine bir göz atalım. Film Dünyası dükkânları filmler hakkında kataloglar vasıtasıyla bilgi vermekte ve müşteriler ilgilerini çeken filmleri bulmak için katalogları incelemekte. Filmi seçtikten sonra müşteri filmi DVD, CD veya VHS formatında satın alabilmektedir. Video satışları düşüşe geçince şirket yönetimi nedeni öğrenmek için bir araştırma takımı kurdu. Takım şu kara vardı: bu otomasyon çağında eski kâğıt katalog sistemi eski ve yavaş kaldı. Bu da müşteri memnuniyetsizliği doğurdu. Dolayısıyla bu problemin çözümü mevcut sistemi otomasyona dönüştürmektir. Film Dünyası Video Marketi: Çözüm Önceki kısımda da bahsedildiği gibi çözüm, mevcut sistemi otomasyona dönüştürmektir. Diğer bir değişle, dükkâna giren bir müşteri film hakkında filmin adı, oyuncuları ve yönetmeni gibi bilgiler veren bir uygulamayı çalıştıran bilgisayardan faydalanabilmeli. Bu bilgileri kullanarak müşteri filmi satın alıp almamaya karar verebilmeli. Dahası müşteri filmin adı, yönetmeni veya oyuncuları gibi bazı kıstaslar doğrultusunda film arayabilmelidir. Müşteri ayrıca belli bir film, oyuncu veya yönetmen hakkında da bilgi edinebilmelidir. Bu bilgiler bir Microsoft SQL 2005 veritabanında tutulmaktadır. Gereken şey basit ve etkileşimli arayüz sunan bir programdır. Aşağıdaki kısım bir uygulama geliştirmek için gerekli tipik adımları açıklamaktadır. Veritabanı Şeması

2 Not: Musteri tablosunun MusteriNo alanının Identity özelliği Yes olmalıdır.

3 Ana Form İsimden de anlaşılacağı üzere Ana Form müşterinin Müşteri modülünde göreceği ilk formdur. Ana form müşterinin arama yapıp sipariş verebileceği merkezi yerdir. Ayrıca Ana Form müşterinin kaydolup bir müşteri numarası almasına da imkân verir. Ana Formun Özellikleri: Özellik Name Text Değer FrmAna Film Dünyası Size 320, 368 Arayüzden de görüldüğü üzere Ana Form iki grup kutusu (GroupBox) içermektedir: Kayıtlı Müşteri ve Yeni Müşteri. Eğer müşteriler kayıtlı kullanıcı ise Kayıtlı Müşteri grup kutusundaki kontrolleri kullanabilirler. Müşteriler müşteri numaralarını Müşteri No metin kutusuna girip Gönder butonuna tıklayabilirler. Müşteri Gönder butonuna tıklayınca Arama formu açılır. Arama formu müşterinin film aramasını sağlar. Eğer müşteri kayıtlı bir kullanıcı değilse Yeni müşteri grup kutusundaki kontrolleri kullanabilir. Burada müşteri Kayıt veya Ara butonlarına tıklayabilir. Eğer müşteri Kayıt butonuna tıklarsa Kayıt formu görüntülenir. Müşteri Kayıt formunu kaydolmak ve müşteri numarası edinmek için kullanabilir. Farklı olarak kullanıcı Ara butonuyla film arayabilir. Tablo: Grup Kutularının (GroupBox) Özellikleri Kontrol Özellik Değer Group box 1 Name GrbKayitliMusteri Group box 1 Text Kayıtlı Müşteri Group box 2 Name GrbYeniMusteri Group box 2 Text Yeni Müşteri Grup kutularına ilave olarak Ana form dört adet etiket içerir.

4 Tablo: Etiketlerin (Label) Özellikleri Kontrol Özellik Değer Label 1 Name LblHosgeldiniz Label 1 Text Film Marketi'ne Hoşgeldiniz Label 2 Name LblMusteriNo Label 2 Text Müşteri No: Label 3 Name LblKayit Label 3 Text Kaydolmak için: Label 4 Name LblKayitsiz Label 4 Text Kaydolmadan devam et: LblHosgeldiniz etiketinin Font özellikleri: Özellik Name Değer Comic San MS Size Bold Forecolor True Desktop Bunlara ilave olarak Kayıtlı Müşteri grup kutusunda bir tane de metin kutusu mevcut. Metin kutusunun Name özelliği TxtMusteriNo olarak ayarlanmalıdır. Ana formda ayrıca dört adet buton var. Tablo: Butonların (Buton) Özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdKayit Button 2 Text Kayıt Button 3 Name CmdAra Button 3 Text Ara Button 4 Name CmdCikis Button 4 Text Çıkış Bir müşteri Müşteri No metin kutusuna geçerli bir müşteri numarası girdiğinde ve Gönder butonuna tıkladığında Arama formu görüntülenir. Arama formu ayrıca müşteri Yeni müşteri grup kutusundaki Ara butonuna tıklayınca da görüntülenir.

5 Arama Formu Arama formu müşterilerin film aramasına imkân verir. Arama Formunun Özellikleri: Özellik Name Text Değer FrmArama Arama Size 384, 336 Arama formu üç tane etiket içerir. Tablo: Etiketlerin Özellikleri Kontrol Özellik Değer Label 1 Name LblAranan Label 1 Text Aranan ifade: Label 2 Name LblAramaKriteri Label 2 Text Arama kriteri: Label 3 Name LblAramaSonucu Label 3 Text Arama sonucu: Arama formu ayrıca bir metin kutusuyla bir açılan kutu içerir. Tablo: Metin (TextBox) ve Açılan Kutunu (ComboBox) Özellikleri Kontrol Özellik Değer Text Box Name TxtAranan Combo Box Name CmbAramaKriteri

6 Combo Box DropDownStyle DropDownList Bu özelliklere ek olarak açılan kutunun Items özelliğini de ayarlamalıyız. Items özelliği seçildiğinde (Collection) değerinin yanında butonu görüntülenir. Açılan kutuya değer eklemek için bu butona tıklanmalıdır. Butona tıklayınca, String Collection Editor diyalog kutusu görüntülenir. Bu diyalog kutusu vasıtasıyla açılan kutuya değer ekleyebilirsiniz. Arama formu bir de liste görünümü (ListView) kontrolü içerir. Liste görünümü kontrolünün özellikleri: Özellik Name View FullRowSelect GridLines Değer LvwAramaSonucu Details True True Arama formu üç butona sahiptir. Tablo: Butonların Özellikleri Kontrol Özellik Değer Button 1 Name CmdAra Button 1 Text Ara

7 Button 2 Name CmdSiparisVer Button 2 Text Sipariş Ver Button 3 Name CmdCikis Button 3 Text Çıkış Alternatif olarak, müşteriler Ara butonunu Filmler veritabanına göz atmak için de kullanılabilir. Bir film aramak için müşteri şu adımları izlemelidir: 1. Aranacak metin Aranan İfade metin kutusuna girilir. Bu metin oyuncu, yönetmen, yapımcı veya film adı olabilir. 2. Arama Kriteri açılan kutusundan bir kategori seçilir. Buradaki seçim hangi tabloda arama yapılacağını belirler. Örneğin müşteri Oyuncu seçeneğini seçerse, arama veritabanındaki Oyuncu tablosunda yapılır. 3. Ara butonu tıklanır. Kullanıcı Ara butonuna tıkladığında sonuç liste görünümü kontrolünde görüntülenir. Sonuç girilen metne ve yapılan seçime göre belirlenir. Örneğin müşteri metin kutusuna Brad girip, Arama Kriteri açılan kutusundan Oyuncu seçeneğini seçip Ara butonuna tıklarsa Arama formunun görünümü aşağıdaki gibi olur. Liste görünümü kontrolünde arama sonucu görüntülendiğinde, müşteri satın almak için bir film seçebilir. Bir film siparişi vermek için müşteri liste görünümünden filmi seçip Sipariş Ver butonuna tıklamalıdır. Sipariş vermek için müşteri kayıtlı olmalıdır. Dolayısıyla müşterinin Ana formda bir müşteri numarası belirtip belirtmediğine göre Kayıt formu veya Sipariş Verme formu görüntülenir.

8 Kayıt Formu Kayıt formu müşterilerin kaydolmasına olanak verir. Kayıt formu bir müşteri Ana formda Kayıt butonuna tıkladığında görüntülenir. Bu form aynı zamanda müşteri Ana formda kimlik numarası girmeyip Arama formunda Sipariş Ver butonuna tıkladığında da görüntülenir. Kayıt Formunun Özellikleri: Özellik Name Text Değer FrmKayit Kayıt Size 392, 376 Kayıt formu birçok metin kutusu ve etiket içerir. Tablo: Etiketlerin Özellikleri Kontrol Özellik Değer Label 1 Name LblAdi Label 1 Text Adı: Label 2 Name LblSoyadi Label 2 Text Soyadı: Label 3 Name LblAdres Label 3 Text Adres: Label 4 Name LblIlce Label 4 Text İlçe: Label 5 Name LblIl

9 Label 5 Text İl: Label 6 Name LblPostaKodu Label 6 Text Posta Kodu: Label 7 Name LblTelefonNo Label 7 Text Telefon No: Label 8 Name LblEPosta Label 8 Text E-Posta: Label 9 Name LblKKNo Label 9 Text Kredi Kartı Numarası: Label 10 Name LblKKSKT Label 10 Text Son Kull.Tarihi: Label 11 Name LblDogumTarihi Label 11 Text D.Tarihi: Tablo: Metin Kutularının Özellikleri Kontrol Özellik Değer Text Box 1 Name TxtAdi Text Box 2 Name TxtSoyadi Text Box 3 Name TxtAdres Text Box 4 Name TxtIlce Text Box 5 Name TxtIl Text Box 6 Name TxtPostaKodu Text Box 7 Name TxtTelefonNo Text Box 8 Name TxtEPosta Text Box 9 Name TxtKKNo Etiket ve metin kutularına ilave olarak Kayıt formu iki adet tarih kontrolü (DatetimePicker) içerir. Biri Son Kullanma Tarihi, diğeri ise Doğum Tarihi etiketiyle ilişkilidir. Son Kullanma Tarihi etiketiyle ilişkili tarih kontrolünün Name özelliği DtpKKSKT, Doğum Tarihi etiketiyle ilişkili tarih kontrolünün Name özelliği ise DtpDogumTarihi olarak ayarlanır. Kayıt formu aynı zamanda üç tane de buton içerir. Tablo: Butonların Özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdTemizle Button 2 Text Temizle Button 3 Name CmdIptal

10 Button 3 Text İptal Müşteriler gönder butonu vasıtasıyla Kayıt formuna girmiş oldukları bilgileri veritabanına kaydedebilirler. Temizle butonu müşterinin Kayıt formundaki kontrolleri boşaltmasını sağlar. Müşteriler İptal butonu ile Kayıt formunu kapatabilirler.

11 Sipariş Verme Formu Sipariş Verme formu müşterilerin film siparişi vermesini sağlar. Bir müşteri arama formunda bir film seçip Sipariş Ver butonuna tıklayınca Sipariş Verme formu görüntülenir. Sipariş Verme Formunun Özellikleri: Özellik Name Text Değer FrmSiparis Sipariş Verme Size 376, 352 Sipariş Verme formu dört etiket içerir. Tablo: Etiketlerin Özellikleri Kontrol Özellik Değer Label 1 Name LblSecim Label 1 Text Seçim: Label 2 Name LblToplamTutar Label 2 Text Toplam Tutar: Label 3 Name LblKKNo Label 3 Text Kredi Kartı Numarası: Label 4 Name LblKKSKT Label 4 Text Son Kullanma Tarihi: Sipariş Verme formu aynı zamanda bir liste görünümü kontrolü de içerir. Liste görünümü nesnesinin özellikleri şöyledir: Özellik Değer

12 Name View FullRowSelect GridLines LvwSecim Details True True Sipariş Verme formu üç tane de metin kutusu içerir. Tablo: Metin Kutularının Özellikleri Kontrol Özellik Değer Text Box 1 Name TxtToplamTutar Text Box 2 Name TxtKKNo Text Box 3 Name TxtKKSKT Metin kutularına ilave olarak Sipariş Verme formunda iki tane buton da mevcut. Sipariş Ver ve İptal butonları. Tablo: Butonların Özellikleri Kontrol Özellik Değer Button 1 Name CmdSiparisVer Button 1 Text Sipariş Ver Button 2 Name CmdIptal Button 2 Text İptal Seçilen film(ler)i sipariş etmek için müşteri Sipariş Ver butonuna tıklamalıdır.

13 Ana Forma İşlevsellik Kazandırmak Giriş Önceki bölümde video marketinin Müşteri modülü için kullanıcı arayüzü oluşturmayı öğrendiniz. Daha önce de görmüş olduğumuz üzere müşteri modülü aşağıdaki formlardan oluşur: Ana form Arama formu Sipariş Verme formu Kayıt formu Bu bölümde müşteri modülünün Ana formuna işlevsellik kazandırmak için kod yazmayı öğreneceksiniz. Ana formun Filmler veritabanına bağlanabilmesi için SQL Server.NET veri sağlayıcısını kullanmalısınız. SQL Server.NET veri sağlayıcısının sınıflarını kullanmak için, System.Data.SqlClient isim alanını (namespace) dâhil etmeliyiz. Bunun için aşağıdaki ifade Ana forma dâhil edilmelidir: Imports System.Data.SqlClient Yukarıdaki ifadeye ilave olarak Ana forma aşağıdaki ifadeler de dâhil edilmelidir: Imports System Imports System.Data Imports System.String Imports System.Collections Imports System.Data.SqlTypes Aşağıdaki değişkenler de Ana formda tanımlanmalıdır: Public Shared ObjArama As FrmArama Public Shared ObjKayit As FrmKayit Ayrıca, ana formdan Filmler veritabanına bağlanmak için SqlConnection sınıfından bir nesne kullanılmalıdır. SqlConnection nesnesiyle veritabanına bağlanmada kullanılacak bağlantı ifadesi (ConnectionString) için değişken tanımlamak amacıyla uygulamaya bir modül eklemeliyiz. Bunun için Project menüsünden Add Module seçeneği kullanılır. Oluşan modüle yazılacak kod şöyledir:

14 Public StrConnectionString As String = "Data Source=localhost;Initial Catalog=Filmler;Integrated Security=True" Ana Formun Tam Kod Dökümü Liste: Ana Formun Kodu Imports System Imports System.Data Imports System.String Imports System.Collections Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmAna Inherits System.Windows.Forms.Form Public Shared ObjArama As FrmArama Public Shared ObjKayit As FrmKayit Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If TxtMusteriNo.Text.Trim = "" Then MessageBox.Show("Müşteri numaranızı giriniz.") Else ObjArama = New FrmArama() If (IsNumeric(TxtMusteriNo.Text)) Then If (MusteriNoGecerlimi(TxtMusteriNo.Text)) Then ObjArama.KayitNoAyarla(TxtMusteriNo.Text) ObjArama.Show() Else MessageBox.Show("Geçersiz Müşteri numarası") Else MessageBox.Show("Geçersiz Müşteri numarası") Private Function MusteriNoGecerlimi(ByVal MusteriNo As String) As Boolean Dim StrSorgu As String Dim StrKayitSayisi As String Dim SqlConnection1 As New SqlConnection(StrConnectionString) & "'" StrSorgu = "SELECT COUNT(MusteriNo) FROM Musteri WHERE MusteriNo ='" & MusteriNo SqlConnection1.Open() Dim SelectCmd As New SqlCommand(StrSorgu, SqlConnection1) StrKayitSayisi = SelectCmd.ExecuteScalar() SqlConnection1.Close() SqlConnection1.Dispose() SelectCmd.Dispose() If (CInt(StrKayitSayisi) > 0) Then MusteriNoGecerlimi = True Else MusteriNoGecerlimi = False End Function Private Sub CmdKayit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdKayit.Click ObjKayit = New FrmKayit() ObjKayit.Show()

15 Private Sub CmdAra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAra.Click ObjArama = New FrmArama() ObjArama.Show() Private Sub CmdCikis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCikis.Click Me.Close() End Class

16 Arama Formuna İşlevsellik Kazandırmak Giriş Bu bölümde Müşteri modülünün Arama formuna işlevsellik kazandırmayı öğreneceğiz. Arama formu müşterilere Filmler veritabanında arama yapmayı izin verir. Ana formda da görmüş olduğumuz üzere Arama formunu veritabanına bağlamak için SQL Server.NET veri sağlayıcısına ihtiyacımız var. Bunun için aşağıdaki ifadeler Arama formuna ilave edilmelidir: Imports System.String Imports System.Collections Imports System.Data.SqlClient Imports System.Data.SqlTypes Ayrıca aşağıdaki değişkenler de Arama formunda tanımlanmalıdır: Public Shared ObjSiparisVer As FrmSiparis Public Shared ObjKayit As FrmKayit Public Shared FilmNoDizisi() As String = New String(10) {} 'String dizi tanımı Private Shared StrKayitNo As String 'Müşteri No'yu tutan string değişken tanımı Arama Formunun Tam Kod Dökümü Liste: Arama Formunun Kodu Imports System.String Imports System.Collections Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmArama Inherits System.Windows.Forms.Form Public Shared ObjSiparisVer As FrmSiparis Public Shared ObjKayit As FrmKayit Public Shared FilmNoDizisi() As String = New String(10) {} 'String dizi tanımı

17 Private Shared StrKayitNo As String 'Müşteri No'yu tutan string değişken tanımı Private Sub CmdCikis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCikis.Click Me.Close() Private Sub CmdSiparisVer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSiparisVer.Click Dim LstViewCollection As ListView.SelectedListViewItemCollection LstViewCollection = New ListView.SelectedListViewItemCollection(LvwAramaSonucu) Dim IntToplamSecilenSayisi As Integer IntToplamSecilenSayisi = LstViewCollection.Count() If (IntToplamSecilenSayisi < 1) Then MessageBox.Show("Hiçbir film seçmediniz. Lütfen listeden film(ler)inizi seçip ""Sipariş Ver"" butonuna tıklayınız.") If (StrKayitNo = "") Then MessageBox.Show("Sipariş vermeden önce kaydolmalısınız.") ObjKayit = New FrmKayit() ObjKayit.Show() Else ObjSiparisVer = New FrmSiparis() ObjSiparisVer.KayitNoAyarla(StrKayitNo) Dim IntSayac As Integer For IntSayac = 0 To IntToplamSecilenSayisi - 1 FilmNoDizisi(IntSayac) = LstViewCollection.Item(IntSayac).Text Next ObjSiparisVer.SecilenFilmeriAyarla(FilmNoDizisi, IntToplamSecilenSayisi) ObjSiparisVer.Show() Private Sub CmdAra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAra.Click Dim DsDataSet As DataSet Dim DrRowPicker As DataRow Dim StrAramaKriteri As String Dim StrSorgu As String Dim Sonuc As Integer Dim StrAramaBosmu As Boolean Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Dim SqlSelectCommand1 As New SqlCommand() StrAramaBosmu = False If TxtAranan.Text.Trim = "" Then StrAramaBosmu = True StrAramaKriteri = CmbAramaKriteri.Text If (Compare(StrAramaKriteri, "Film", True) = 0) Then Sonuc = 0 StrSorgu = "SELECT DISTINCT a.filmno, b.oyuncuno, c.yonetmenno, d.yapimcino, a.filmadi, b.adi AS Oyuncu, c.adi AS Yonetmen, d.adi AS Yapimci FROM Film a, Oyuncu b, Yonetmen c, Yapimci d, OyuncuFilmleri e WHERE a.filmno = e.filmno AND e.oyuncuno = b.oyuncuno AND a.yonetmenno = c.yonetmenno AND a.yapimcino = d.yapimcino " If Not StrAramaBosmu Then StrSorgu += " AND a.filmadi LIKE '" & TxtAranan.Text & "%'" ElseIf (Compare(StrAramaKriteri, "Oyuncu", True) = 0) Then Sonuc = 1 StrSorgu = "SELECT DISTINCT a.filmno, b.oyuncuno, c.yonetmenno, d.yapimcino, a.filmadi, b.adi AS Oyuncu, c.adi AS Yonetmen, d.adi AS Yapimci FROM Film a, Oyuncu b,

18 Yonetmen c, Yapimci d, OyuncuFilmleri e WHERE a.filmno = e.filmno AND e.oyuncuno = b.oyuncuno AND a.yonetmenno = c.yonetmenno AND a.yapimcino = d.yapimcino " If Not StrAramaBosmu Then StrSorgu += "AND (b.adi LIKE '" & TxtAranan.Text & "%' OR b.soyadi LIKE '" & TxtAranan.Text & "%') " ElseIf (Compare(StrAramaKriteri, "Yonetmen", True) = 0) Then Sonuc = 2 StrSorgu = "SELECT DISTINCT a.filmno, b.oyuncuno, c.yonetmenno, d.yapimcino, a.filmadi, b.adi AS Oyuncu, c.adi AS Yonetmen, d.adi AS Yapimci FROM Film a, Oyuncu b, Yonetmen c, Yapimci d, OyuncuFilmleri e WHERE a.filmno = e.filmno AND e.oyuncuno = b.oyuncuno AND a.yonetmenno = c.yonetmenno AND a.yapimcino = d.yapimcino " If Not StrAramaBosmu Then StrSorgu += "AND (b.adi LIKE '" & TxtAranan.Text & "%' OR b.soyadi LIKE '" & TxtAranan.Text & "%') " ElseIf (Compare(StrAramaKriteri, "Yapimci", True) = 0) Then Sonuc = 3 StrSorgu = "SELECT DISTINCT a.filmno, b.oyuncuno, c.yonetmenno, d.yapimcino, a.filmadi, b.adi AS Oyuncu, c.adi AS Yonetmen, d.adi AS Yapimci FROM Film a, Oyuncu b, Yonetmen c, Yapimci d, OyuncuFilmleri e WHERE a.filmno = e.filmno AND e.oyuncuno = b.oyuncuno AND a.yonetmenno = c.yonetmenno AND a.yapimcino = d.yapimcino " If Not StrAramaBosmu Then StrSorgu += " AND d.adi LIKE '" & TxtAranan.Text & "%'" Else Sonuc = -1 StrSorgu = "" DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SqlSelectCommand1 SqlDataAdapter1.SelectCommand.CommandText = StrSorgu SqlDataAdapter1.SelectCommand.Connection = SqlConnection1 SqlDataAdapter1.Fill(DsDataSet, "AramaSonucu") LvwAramaSonucu.Items.Clear() Dim IntKayitSayisi As Integer IntKayitSayisi = 0 For Each DrRowPicker In DsDataSet.Tables("AramaSonucu").Rows Dim StrSearchRow As String() = {DrRowPicker(0), DrRowPicker(4), DrRowPicker(5), DrRowPicker(6), DrRowPicker(7)} LvwAramaSonucu.Items.Add(New ListViewItem(StrSearchRow)) IntKayitSayisi += 1 Next Dim IntSnc As Integer IntSnc = CInt(Sonuc) If (IntKayitSayisi = 0) Then CmdSiparisVer.Enabled = False Else CmdSiparisVer.Enabled = True If IntKayitSayisi = 0 Then If (IntSnc = 0) Then MessageBox.Show("Film bulunamadı.") ElseIf (IntSnc = 1) Then MessageBox.Show("Bu aktöre ait herhangi bir film bulunamadı.") ElseIf (IntSnc = 2) Then MessageBox.Show("Bu yönetmene ait herhangi bir film bulunamadı.") ElseIf (IntSnc = 3) Then MessageBox.Show("Bu yapımcıya ait herhangi bir film bulunamadı.") SqlConnection1.Close() SqlConnection1.Dispose() SqlSelectCommand1.Dispose()

19 SqlDataAdapter1.Dispose() Private Sub FrmArama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CmbAramaKriteri.SelectedIndex = 0 CmdSiparisVer.Enabled = False LvwAramaSonucu.Items.Clear() LvwAramaSonucu.Columns.Clear() Dim ColumnHeader1 As New ColumnHeader() Dim ColumnHeader2 As New ColumnHeader() Dim ColumnHeader3 As New ColumnHeader() Dim ColumnHeader4 As New ColumnHeader() Dim ColumnHeader5 As New ColumnHeader() LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3, ColumnHeader4, ColumnHeader5}) ColumnHeader1.Text = "Film No" ColumnHeader2.Text = "Film Adı" ColumnHeader3.Text = "Oyuncu" ColumnHeader4.Text = "Yönetmen No" ColumnHeader5.Text = "Yapımcı No" Public Sub KayitNoAyarla(ByVal KytNo As String) StrKayitNo = KytNo End Class

20 Kayıt Formuna İşlevsellik Kazandırmak Giriş Bu bölümde Müşteri modülünün Kayıt formuna işlevsellik kazandırmayı öğreneceksiniz. Kayıt formunu veritabanına bağlamak için SQL Server.NET veri sağlayıcısına ihtiyacımız var. Bunun için aşağıdaki ifadeler Kayıt formuna ilave edilmelidir: Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Ayrıca aşağıdaki değişken de Kayıt formunda tanımlanmalıdır: Public Shared ObjArama As FrmArama Kayıt Formunun Tam Kod Dökümü Liste: Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmKayit Inherits System.Windows.Forms.Form Public Shared ObjArama As FrmArama Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click Dim StrSorgu As String Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() If (TxtAdi.Text.Trim = "") Then MessageBox.Show("Müşteri Adı bilgisini giriniz.")

21 TxtAdi.Focus() If (TxtSoyadi.Text.Trim = "") Then MessageBox.Show("Müşteri Soyadı bilgisini giriniz.") TxtSoyadi.Focus() If (TxtAdres.Text.Trim = "") Then MessageBox.Show("Adres bilgisini giriniz.") TxtAdres.Focus() If (TxtKKNo.Text.Trim = "") Then MessageBox.Show("Kredi kartı numarasını giriniz.") TxtTelefonNo.Focus() ElseIf (TxtKKNo.Text.Trim.Length <> 16) Then MessageBox.Show("Geçersiz kredi kartı numarası. Lütfen kredi kartı numarasını tekrar giriniz.") TxtTelefonNo.Focus() If (CDate(DtpKKSKT.Value) < Now()) Then MessageBox.Show("Invalid date.") DtpKKSKT.Focus() StrSorgu = "INSERT INTO Musteri (Adi, Soyadi, Adres, Ilce, Il, PostaKodu, TelefonNo, EPosta, DogumTarihi, KrediKartiNo, KrediKartiSKT) VALUES (@Adi, " & @KrediKartiSKT)" Dim CmdString As New SqlCommand(StrSorgu, SqlConnection1) SqlDataAdapter1.InsertCommand = CmdString SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = TxtAdi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = TxtSoyadi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Adres", System.Data.SqlDbType.VarChar, 25, "Adres")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = TxtAdres.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Ilce", System.Data.SqlDbType.VarChar, 25, "Ilce")) SqlDataAdapter1.InsertCommand.Parameters(3).Value = TxtIlce.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Il", System.Data.SqlDbType.VarChar, 15, "Il")) SqlDataAdapter1.InsertCommand.Parameters(4).Value = TxtIl.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@PostaKodu", System.Data.SqlDbType.VarChar, 7, "PostaKodu")) SqlDataAdapter1.InsertCommand.Parameters(5).Value = TxtPostaKodu.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@TelefonNo", System.Data.SqlDbType.VarChar, 10, "TelefonNo")) SqlDataAdapter1.InsertCommand.Parameters(6).Value = TxtTelefonNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@EPosta", System.Data.SqlDbType.VarChar, 50, "EPosta")) SqlDataAdapter1.InsertCommand.Parameters(7).Value = TxtEPosta.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.InsertCommand.Parameters(8).Value = Date.Parse(DtpDogumTarihi.Value) SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@KrediKartiNo", System.Data.SqlDbType.VarChar, 16, "KrediKartiNo")) SqlDataAdapter1.InsertCommand.Parameters(9).Value = TxtTelefonNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@KrediKartiSKT", System.Data.SqlDbType.DateTime, 8, "KrediKartiSKT"))

22 SqlDataAdapter1.InsertCommand.Parameters(10).Value = Date.Parse(DtpKKSKT.Value) Dim LMusteriNo As Long Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() CmdString.CommandText = "SELECT MAX(MusteriNo) From Musteri" LMusteriNo = CmdString.ExecuteScalar Dim StrMsj As String StrMsj = CStr(LMusteriNo) MessageBox.Show("Müşteri kayıt numarası: " & StrMsj, "Müşteri No", MessageBoxButtons.OK, MessageBoxIcon.Information) Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) CmdString.Dispose() SqlConnection1.Close() SqlConnection1.Dispose() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde kaydedildi.", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) ObjArama = New FrmArama() ObjArama.KayitNoAyarla(CStr(LMusteriNo)) CmdString.Dispose() SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close() Private Sub CmdTemizle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTemizle.Click Kontrolleri_Bosalt() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() Private Sub Kontrolleri_Bosalt() TxtAdi.Text = "" TxtAdi.Focus() 'İlk kontrole odaklan TxtSoyadi.Text = "" TxtAdres.Text = "" TxtIlce.Text = "" TxtIl.Text = "" TxtPostaKodu.Text = "" TxtTelefonNo.Text = "" TxtEPosta.Text = "" TxtTelefonNo.Text = "" DtpKKSKT.Text = "" DtpDogumTarihi.Text = ""

23 Sipariş Verme Formuna İşlevsellik Kazandırmak Giriş Bu bölümde Müşteri modülünün Sipariş Verme formuna işlevsellik kazandırmayı öğreneceksiniz. Sipariş Verme formunu veritabanına bağlamak için SQL Server.NET veri sağlayıcısına ihtiyacımız var. Bunun için aşağıdaki ifadeler Sipariş Verme formuna ilave edilmelidir: Imports System Imports System.Data Imports System.String Imports System.Collections Imports System.Data.SqlClient Imports System.Data.SqlTypes Ayrıca aşağıdaki değişkenler de Sipariş Verme formunda tanımlanmalıdır: Private Shared IntSecilenSayisi As Integer 'Seçili kayıtların sayısını tutar Private StrKayitNo As String 'Müşteri numarasını tutar Private Shared SecilenFilmNoDizisi() As String = New String(10) {} 'Seçili kayıtların Film No'larını tutar Sipariş Verme Formunun Tam Kod Dökümü Liste: Sipariş Verme Formunun Kodu Imports System Imports System.Data Imports System.String Imports System.Collections Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmSiparis Inherits System.Windows.Forms.Form

24 Private Shared IntSecilenSayisi As Integer 'Seçili kayıtların sayısını tutar Private StrKayitNo As String 'Müşteri numarasını tutar Private Shared SecilenFilmNoDizisi() As String = New String(10) {} 'Seçili kayıtların Film No'larını tutar Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Dim SqlSelectCommand1 As New SqlCommand() Public Sub SecilenFilmeriAyarla(ByVal FilmNoDizisi() As String, ByVal IntToplamSecilenSayisi As Integer) Dim i As Integer IntSecilenSayisi = IntToplamSecilenSayisi For i = 0 To IntToplamSecilenSayisi - 1 SecilenFilmNoDizisi(i) = FilmNoDizisi(i) Next i Public Sub KayitNoAyarla(ByVal KytNo As String) StrKayitNo = KytNo Private Function OtomatikSiparisNoAl() As String Dim StrSelectString As String StrSelectString = "SELECT MAX(SiparisNo) FROM Siparisler" Dim SelectCmd As New SqlCommand(StrSelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() Try SqlDataAdapter1.SelectCommand = SelectCmd SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "SiparisNo") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SelectCmd.Dispose() SqlDataAdapter1.Dispose() "" End Try Dim DrRowPicker As DataRow Dim StrSiparisNo As String For Each DrRowPicker In DsDataSet.Tables("SiparisNo").Rows If DrRowPicker.IsNull(0) Then StrSiparisNo = "O0001" Else StrSiparisNo = DrRowPicker(0) Next SqlConnection1.Close() SqlDataAdapter1.Dispose() OtomatikSiparisNoAl = StrSiparisNo End Function Private Sub FrmSiparis_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim DsDataSet As DataSet Dim DrRowPicker As DataRow

25 Dim DrRowPicker2 As DataRow Dim StrAramaKriteri As String Dim StrSorgu As String Dim Sonuc As Integer Dim SelectCmd As New SqlCommand() LvwSecim.Items.Clear() LvwSecim.Columns.Clear() Dim ColumnHeader1 As New ColumnHeader() Dim ColumnHeader2 As New ColumnHeader() Dim ColumnHeader3 As New ColumnHeader() Dim ColumnHeader4 As New ColumnHeader() Dim ColumnHeader5 As New ColumnHeader() Dim ColumnHeader6 As New ColumnHeader() LvwSecim.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3, ColumnHeader4, ColumnHeader5, ColumnHeader6}) ColumnHeader1.Text = "Film No" ColumnHeader2.Text = "Film Adı" ColumnHeader3.Text = "Oyuncu" ColumnHeader4.Text = "Yönetmen No" ColumnHeader5.Text = "Yapımcı No" ColumnHeader6.Text = "Fiyat" If IntSecilenSayisi < 1 Then Me.Close() Dim i As Integer Dim StrGecici As String For i = 0 To IntSecilenSayisi - 1 StrGecici += "'" StrGecici += SecilenFilmNoDizisi(i) StrGecici += "'" If i < IntSecilenSayisi - 1 Then StrGecici += "," Next i StrSorgu = "SELECT DISTINCT a.filmno, a.filmadi, b.adi AS Oyuncu, c.adi AS Yonetmen, d.adi AS Yapimci, f.fiyat as Fiyat FROM Film a, Oyuncu b, Yonetmen c, Yapimci d, OyuncuFilmleri e, Video f WHERE a.filmno = e.filmno AND e.oyuncuno = b.oyuncuno AND a.yonetmenno = c.yonetmenno AND a.yapimcino = d.yapimcino AND a.filmno = f.filmno AND a.filmno in (" & StrGecici & ")" DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd SqlDataAdapter1.SelectCommand.Connection = SqlConnection1 SqlDataAdapter1.SelectCommand.CommandText = StrSorgu SqlDataAdapter1.Fill(DsDataSet, "AramaSonucu2") LvwSecim.Items.Clear() Dim DblToplamTutar As Double For Each DrRowPicker In DsDataSet.Tables("AramaSonucu2").Rows Dim StrSearchRow As String() = {DrRowPicker(0), DrRowPicker(1), DrRowPicker(2), DrRowPicker(3), DrRowPicker(4), DrRowPicker(5)} LvwSecim.Items.Add(New ListViewItem(StrSearchRow)) DblToplamTutar += CDbl(DrRowPicker(5)) Next TxtToplamTutar.Text = DblToplamTutar StrSorgu = "SELECT KrediKartiNo, KrediKartiSKT FROM Musteri WHERE MusteriNo = '" & StrKayitNo & "'" SqlDataAdapter1.SelectCommand.CommandText = StrSorgu SqlDataAdapter1.Fill(DsDataSet, "KrediKartiBilgisi")

26 For Each DrRowPicker2 In DsDataSet.Tables("KrediKartiBilgisi").Rows TxtKKNo.Text = DrRowPicker2(0) TxtKKSKT.Text = DrRowPicker2(1) Next SqlConnection1.Close() SqlDataAdapter1.Dispose() Private Sub CmdSiparisVer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSiparisVer.Click Dim StrSorgu As String Dim StrSiparisNo As String Dim StrGecici As String Dim IntSiparisNo As Integer StrSiparisNo = OtomatikSiparisNoAl() StrSiparisNo = StrSiparisNo.Substring(1, 4) IntSiparisNo = CInt(StrSiparisNo) + 1 StrGecici = CStr(IntSiparisNo) StrSiparisNo = "'" StrSiparisNo += "O" If StrGecici.Length = 1 Then StrSiparisNo += "000" ElseIf StrGecici.Length = 2 Then StrSiparisNo += "00" ElseIf StrGecici.Length = 3 Then StrSiparisNo += "0" StrSiparisNo += StrGecici StrSiparisNo += "'" Dim i As Integer StrGecici = "" For i = 0 To IntSecilenSayisi - 1 StrGecici += "'" StrGecici += SecilenFilmNoDizisi(i) StrGecici += "'" If i < IntSecilenSayisi - 1 Then StrGecici += "," Next i Dim StrSelectString As String StrSelectString = "SELECT MAX(VideoNo), COUNT(FilmNo) From Video WHERE FilmNo IN (" & StrGecici & ") GROUP BY FilmNo" Dim DsDataSet As DataSet DsDataSet = New DataSet() Dim SelectCmd As New SqlCommand(StrSelectString, SqlConnection1) Try SqlDataAdapter1.SelectCommand = SelectCmd SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "VideoBilgisi") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SelectCmd.Dispose() SqlDataAdapter1.Dispose()

27 End Try Dim DrRowPicker As DataRow Dim StrVideoListesi As String = "" Dim StrFilmSayisi As String Dim NToplamSayi, NSayi As Integer NSayi = 0 NToplamSayi = DsDataSet.Tables("VideoBilgisi").Rows.Count() Dim VideoListeDizisi() As String = New String(10) {} For Each DrRowPicker In DsDataSet.Tables("VideoBilgisi").Rows StrVideoListesi += "'" StrVideoListesi += DrRowPicker(0).ToString StrVideoListesi += "'" VideoListeDizisi(NSayi) = StrVideoListesi NSayi += 1 StrFilmSayisi = DrRowPicker(1) Next Dim StrToplamSiparisDegeri As String StrSorgu = "SELECT SUM(Fiyat) FROM Video WHERE VideoNo IN (" & StrVideoListesi & ")" SqlDataAdapter1.SelectCommand.CommandText = StrSorgu SqlDataAdapter1.Fill(DsDataSet, "SiparisTutari") StrToplamSiparisDegeri = DsDataSet.Tables("SiparisTutari").Rows(0).Item(0) Dim StrToplamMiktar As String StrSorgu = "SELECT COUNT(VideoNo) FROM Video WHERE VideoNo IN (" & StrVideoListesi & ")" SqlDataAdapter1.SelectCommand.CommandText = StrSorgu SqlDataAdapter1.Fill(DsDataSet, "ToplamMiktar") StrToplamMiktar = DsDataSet.Tables("ToplamMiktar").Rows(0).Item(0) Dim StrVideoNo As String Dim j As Integer Dim IntSiparisMiktari As Integer StrToplamSiparisDegeri = StrToplamSiparisDegeri.Replace(","c, "."c) StrSorgu = "INSERT INTO Siparisler (SiparisNo, SiparisTarihi, MusteriNo, ToplamMiktar, SiparisTutari) VALUES (" & StrSiparisNo & StrToplamMiktar & "," & StrToplamSiparisDegeri & "); SELECT SiparisNo, SiparisTarihi, MusteriNo, SiparisTutari FROM Siparisler WHERE SiparisNo = " & StrSiparisNo Dim InsertCmd As New SqlCommand(StrSorgu, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@SiparisTarihi", System.Data.SqlDbType.DateTime, 8, "SiparisTarihi")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = Now() SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@MusteriNo", System.Data.SqlDbType.SmallInt, 2, "MusteriNo")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = StrKayitNo SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@SiparisTutari", System.Data.SqlDbType.Money, 8, "SiparisTutari")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = CDbl(TxtToplamTutar.Text) Try SqlDataAdapter1.InsertCommand.ExecuteNonQuery() For j = 0 To NSayi - 1 StrVideoNo = VideoListeDizisi(j) IntSiparisMiktari = CInt(StrFilmSayisi) SqlDataAdapter1.InsertCommand.CommandText = "INSERT INTO SiparisAyrinti (SiparisNo, VideoNo, Miktar) VALUES (" & StrSiparisNo & "," & StrVideoNo & ", 1)" SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Next j Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _

28 "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try SqlConnection1.Close() SelectCmd.Dispose() SqlDataAdapter1.Dispose() Me.Close() MessageBox.Show("Siparişiniz 5 iş günü içinde teslim edilecektir. Bizimle alışveriş yaptığınız için teşekkür ederiz.", "Sipariş İletisi", MessageBoxButtons.OK) Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() End Class

29 Yönetici Modülünün Arayüzünü Tasarlamak Giriş Video marketi uygulamasının Yönetici modülü yöneticiye veritabanını yönetmesine yardım eder. Yönetici modülünü kullanarak yönetici Filmler veritabanına kayıt ekleyebilir, kayıtları düzenleyip silebilir. Ek olarak yönetici raporlar da oluşturabilir. Video marketi uygulamasının Yönetici modülü aşağıdaki formlardan oluşur: Ana form Ana Form Oyuncu Kayıt formu Yönetmen Kayıt formu Yapımcı Kayıt formu Video Kayıt formu Film Kayıt formu Müşteri Kayıt formu Güncelle/Sil formu Raporlar formu İsminden de anlaşılacağı üzere, Ana form Yönetici modülünü başlatır. Ana form aynı zamanda yöneticinin aşağıdaki işlemleri gerçekleştirebileceği merkezdir: Veritabanındaki tabloları düzenlemek ve güncellemek Raporlar oluşturmak Şekil: Ana form Ana formun özellikleri: Özellik Name Text Değer FrmAnaYonetim FilmMarketi Yönetim Size 300, 208 Şekilde de görüldüğü gibi Ana form bir menü çubuğuna sahip. Menü çubuğu İşlemler, Rapor Oluştur ve Çıkış menülerini görüntüler. Aşağıdaki kısım Ana formdaki menüler hakkında bilgi verir.

30 İşlemler menüsü yöneticiye veritabanındaki tablolara kayıt eklemek, düzenlemek ve silmek için komutlar sağlar. Şekil: İşlemler menüsünün komutları Şekilde görüldüğü gibi, İşlemler menüsü iki komut içerir, Ekle ve Güncelle/Sil. Ayrıca Ekle menüsüyle alakalı bir alt menünün de bulunduğuna dikkat edin. Yönetici Ekle alt menüsünden bir komut seçtiğinde, seçilen komutla ilgili form görüntülenir. Örneğin yönetici Ekle menüsünden Oyuncu komutunu seçtiğinde Oyuncu Bilgileri Girişi formu görüntülenir. Böylece Ekle menüsündeki komutlar yöneticinin veritabanındaki tablolara kayıt ekleyebilmesini sağlar. Yönetici veritabanındaki tabloları güncellemek veya silmek için Güncelle/Sil komutunu kullanabilir. Ana formdaki menü çubuğu ayrıca Rapor Oluştur menüsünü de içerir. Şekil: Rapor Oluştur menüsündeki komutlar Rapor Oluştur menüsündeki komutlar yöneticinin raporlar oluşturmasına imkân verir. Bu komutları kullanarak yönetici günlük satışlar, beğenilen (en çok talep edilen) filmler ve müşteri ayrıntılarıyla ilgili raporlar oluşturabilir. Ana form ayrıca Çıkış menüsü de içerir. Bu menü yönetici modülünü kapatmak için kullanılabilir. Değişik menülerdeki komutlar hakkında bilgi sahibi olduktan sonra artık menü oluşturmayı öğreneceksiniz. Bunun için Araç kutusundaki All Windows Forms sekmesinden form üzerine MainMenu kontrolü taşımalısınız. Forma bir MainMenu kontrolü eklediğinizde form üzerinde bir menü çubuğu görüntülenir. Menü çubuğuna tıklayınca "Type Here" yazan bir kutucuk belirir. Menüleri ve menü öğelerini tanımlamak için uygum kutulara menü ve öğelerinin isimlerini yazmalısınız.

31 Şekil: Menü oluşturma Tablo: Menü özellikleri Kontrol Özellik Değer Menu 1 Name MmnuIslemler Menu 1 Text İşlemler Menu 2 Name MmnuRaporlar Menu 2 Text Rapor Oluştur Menu 3 Name MmnuCikis Menu 3 Text Çıkış Tablo: Menü elemanlarının özellikleri Kontrol Üst Menünün Adı Özellik Değer Menu Item 1 MmnuIslemler Name MitmEkle Menu Item 1 MmnuIslemler Text Ekle Menu Item 2 MmnuIslemler Name MitmGuncelleSil Menu Item 2 MmnuIslemler Text Güncelle/Sil Menu Item 3 MmnuRaporlar Name MitmGunlukSatislar Menu Item 3 MmnuRaporlar Text Günlük Satışlar Menu Item 4 MmnuRaporlar Name MitmBegenilenFilmler Menu Item 4 MmnuRaporlar Text Beğenilen Filmler Menu Item 5 MmnuRaporlar Name MitmMusteriAyrinti Menu Item 5 MmnuRaporlar Text Müşteri Ayrıntıları Şekilden de görüldüğü gibi Ekle menüsü bir alt menü içerir. Aşağıdaki tablo MitmEkle menüsünün alt menü elemanlarına ait özellikleri görüntüler.

32 Tablo: MitmEkle menüsündeki alt menü elemanlarının özellikleri. Kontrol Özellik Değer Menu Item 1 Name MitmOyuncu Menu Item 1 Text Oyuncu Menu Item 2 Name MitmYonetmen Menu Item 2 Text Yönetmen Menu Item 3 Name MitmYapimci Menu Item 3 Text Yapımcı Menu Item 4 Name MitmVideo Menu Item 4 Text Video Menu Item 5 Name MitmFilm Menu Item 5 Text Film Menu Item 6 Name MitmMusteri Menu Item 6 Text Müşteri

33 Oyuncu Bilgileri Girişi Formu Oyuncu Bilgileri Girişi formu yöneticinin Oyuncular tablosuna kayıt yapabilmesini sağlar. Oyuncu Bilgileri Girişi formunun özellikleri: Özellik Name Text Değer FrmOyuncuKayit Oyuncu Bilgileri Girişi Size 240, 240 Oyuncu Bilgileri Girişi formunda beş adet etiket ve dört adet metin kutusu var. Tablo: Etiketlerin özellikleri Kontrol Özellik Değer Label 1 Name LblOyuncuNo Label 1 Text Oyuncu No: Label 2 Name LblAdi Label 2 Text Adı: Label 3 Name LblSoyadi Label 3 Text Soyadı: Label 4 Name LblDogumTarihi Label 4 Text Doğum Tarihi: Label 5 Name LblOzgecmis Label 5 Text Özgeçmiş: Tablo: Metin kutularının özellikleri Kontrol Özellik Değer Text Box 1 Name txtoyuncuno Text Box 2 Name txtadi

34 Text Box 3 Name txtsoyadi Text Box 4 Name txtozgecmis Etiket ve metin kutularına ilave olarak Oyuncu Bilgileri Girişi formu bir adet tarih kontrolü içerir. Bu Doğum Tarihi etiketiyle ilişkilidir. Doğum Tarihi etiketiyle ilişkili tarih kontrolünün Name özelliği DtpDogumTarihi olarak ayarlanır. Kayıt formu aynı zamanda iki tane de buton içerir. Tablo: Butonların özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdIptal Button 2 Text İptal

35 Yönetmen Bilgileri Girişi Formu Yönetmen Bilgileri Girişi formu yöneticinin Yönetmen tablosuna kayıt yapabilmesini sağlar. Yönetmen Bilgileri Girişi formunun özellikleri: Özellik Name Text Değer FrmYonetmenKayit Yönetmen Bilgileri Girişi Size 240, 240 Yönetmen Bilgileri Girişi formunda beş adet etiket ve dört adet metin kutusu var. Tablo: Etiketlerin özellikleri Kontrol Özellik Değer Label 1 Name LblYonetmenNo Label 1 Text Yönetmen No: Label 2 Name LblAdi Label 2 Text Adı: Label 3 Name LblSoyadi Label 3 Text Soyadı: Label 4 Name LblDogumTarihi Label 4 Text Doğum Tarihi: Label 5 Name LblOzgecmis Label 5 Text Özgeçmiş: Tablo: Metin kutularının özellikleri Kontrol Özellik Değer Text Box 1 Name TxtYonetmenNo Text Box 2 Name TxtAdi

36 Text Box 3 Name TxtSoyadi Text Box 4 Name TxtOzgecmis Etiket ve metin kutularına ilave olarak Yönetmen Bilgileri Girişi formu bir adet tarih kontrolü içerir. Bu Doğum Tarihi etiketiyle ilişkilidir. Doğum Tarihi etiketiyle ilişkili tarih kontrolünün Name özelliği DtpDogumTarihi olarak ayarlanır. Kayıt formu aynı zamanda iki tane de buton içerir. Tablo: Butonların özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdIptal Button 2 Text İptal

37 Yapımcı Bilgileri Girişi Formu Yapımcı Bilgileri Girişi formu yöneticinin Yapımcı tablosuna kayıt yapabilmesini sağlar. Yapımcı Bilgileri Girişi formunun özellikleri: Özellik Name Text Değer FrmYapimciKayit Yapımcı Bilgileri Girişi Size 240, 144 Yapımcı Bilgileri Girişi formunda ikişer adet etiket ve metin kutusu var. Tablo: Etiketlerin özellikleri Kontrol Özellik Değer Label 1 Name LblYapimciNo Label 1 Text Yapımcı No: Label 2 Name LblAdi Label 2 Text Adı: Tablo: Metin kutularının özellikleri Kontrol Özellik Değer Text Box 1 Name TxtYapimciNo Text Box 2 Name TxtAdi Kayıt formu aynı zamanda iki tane de buton içerir. Tablo: Butonların özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdIptal Button 2 Text İptal

38 Video Bilgileri Girişi Formu Video Bilgileri Girişi formu yöneticinin Video tablosuna kayıt yapabilmesini sağlar. Video Bilgileri Girişi formunun özellikleri: Özellik Name Text Değer FrmVideoKayit Video Bilgileri Girişi Size 224, 208 Video Bilgileri Girişi formunda dörder adet etiket ve metin kutusu var. Tablo: Etiketlerin özellikleri Kontrol Özellik Değer Label 1 Name LblVideoNo Label 1 Text Video No: Label 2 Name LblFilmNo Label 2 Text Film No: Label 3 Name LblFormat Label 3 Text Format: Label 4 Name LblFiyat Label 4 Text Fiyat: Tablo: Metin kutularının özellikleri Kontrol Özellik Değer Text Box 1 Name TxtVideoNo Text Box 2 Name TxtFilmNo Text Box 3 Name TxtFormat Text Box 4 Name TxtFiyat Kayıt formu aynı zamanda iki tane de buton içerir.

39 Tablo: Butonların özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdIptal Button 2 Text İptal

40 Film Bilgileri Girişi Formu Film Bilgileri Girişi formu yöneticinin Film tablosuna kayıt yapabilmesini sağlar. Film Bilgileri Girişi formunun özellikleri: Özellik Name Text Değer FrmFilmKayit Film Bilgileri Girişi Size 256, 328 Film Bilgileri Girişi formunda sekizer adet etiket ve metin kutusu var. Tablo: Etiketlerin özellikleri Kontrol Özellik Değer Label 1 Name LblFilmNo Label 1 Text Film No: Label 2 Name LblFilmAdi Label 2 Text Film Adı: Label 3 Name LblYonetmenNo Label 3 Text Yönetmen No: Label 4 Name LblYapimciNo Label 4 Text Yapımcı No: Label 5 Name LblSure Label 5 Text Süre: Label 6 Name LblAciklama Label 6 Text Açıklama:

41 Label 7 Name LblKategori Label 7 Text Kategori: Label 8 Name LblYapimYili Label 8 Text Yapım Yılı: Tablo: Metin kutularının özellikleri Kontrol Özellik Değer Text Box 1 Name TxtFilmNo Text Box 2 Name TxtFilmAdi Text Box 3 Name TxtYonetmenNo Text Box 4 Name TxtYapimciNo Text Box 5 Name TxtSure Text Box 6 Name TxtAciklama Text Box 7 Name TxtKategori Text Box 8 Name TxtYapimYili Kayıt formu aynı zamanda iki tane de buton içerir. Tablo: Butonların özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdIptal Button 2 Text İptal

42 Müşteri Bilgileri Girişi Formu Müşteri Bilgileri Girişi formu, yönetici Ekle menüsünde Müşteri Bilgileri Girişi komutuna tıkladığında görüntülenir. Müşteri Bilgileri Girişi Formunun Özellikleri: Özellik Name Text Değer FrmMusteriKayit Müşteri Bilgileri Girişi Size 392, 376 Müşteri Bilgileri Girişi formu birçok metin kutusu ve etiket içerir. Tablo: Etiketlerin Özellikleri Kontrol Özellik Değer Label 1 Name LblAdi Label 1 Text Adı: Label 2 Name LblSoyadi Label 2 Text Soyadı: Label 3 Name LblAdres Label 3 Text Adres: Label 4 Name LblIlce Label 4 Text İlçe: Label 5 Name LblIl Label 5 Text İl:

43 Label 6 Name LblPostaKodu Label 6 Text Posta Kodu: Label 7 Name LblTelefonNo Label 7 Text Telefon No: Label 8 Name LblEPosta Label 8 Text E-Posta: Label 9 Name LblKKNo Label 9 Text Kredi Kartı Numarası: Label 10 Name LblKKSKT Label 10 Text Son Kullanma Tarihi: Label 11 Name LblDogumTarihi Label 11 Text Doğ.Tarihi: Tablo: Metin Kutularının Özellikleri Kontrol Özellik Değer Text Box 1 Name TxtAdi Text Box 2 Name TxtSoyadi Text Box 3 Name TxtAdres Text Box 4 Name TxtIlce Text Box 5 Name TxtIl Text Box 6 Name TxtPostaKodu Text Box 7 Name TxtTelefonNo Text Box 8 Name TxtEPosta Text Box 9 Name TxtKKNo Etiket ve metin kutularına ilave olarak Müşteri Bilgileri Girişi formu iki adet tarih kontrolü içerir. Biri Son Kullanma Tarihi, diğeri ise Doğum Tarihi etiketiyle ilişkilidir. Son Kullanma Tarihi etiketiyle ilişkili tarih kontrolünün Name özelliği DtpKKSKT, Doğum Tarihi etiketiyle ilişkili tarih kontrolünün Name özelliği ise DtpDogumTarihi olarak ayarlanır. Müşteri Bilgileri Girişi formu aynı zamanda iki tane de buton içerir. Tablo: Butonların Özellikleri Kontrol Özellik Değer Button 1 Name CmdGonder Button 1 Text Gönder Button 2 Name CmdIptal Button 2 Text İptal Yönetici, Gönder butonu vasıtasıyla Müşteri Bilgileri Girişi formuna girmiş olduğu bilgileri veritabanına kaydedebilir. Yönetici, İptal butonu ile Müşteri Bilgileri Girişi formunu kapatabilir.

44 Güncelle/Sil Formu Kayıt girişinin yanı sıra, Yönetici modülü yöneticinin değişik tablolardaki kayıtları düzenlemesine de olanak verir. Yönetici modülü, yöneticiye tablolardaki kayıtları güncelleyip silebilmesi için Güncelle/Sil formunu sunar. Güncelle/Sil formunun özellikleri: Özellik Name Text Değer FrmGuncelleSil Güncelle/Sil Size 488, 320 Güncelle/Sil formunda dört adet etiket mevcut. Tablo: Etiketlerin özellikleri Kontrol Özellik Değer Label 1 Name LblAramaYeri Label 1 Text Arama Yeri: Label 2 Name LblAramaKriteri Label 2 Text Arama Kriteri: Label 3 Name LblArananIfade Label 3 Text Aranan İfade: Label 4 Name LblAramaSonucu Label 4 Text Arama Sonucu: Güncelle/Sil formunda ayrıca bir metin kutusuyla iki tane açılır liste kutusu da var. Tablo: Metin ve açılır liste kutularının özellikleri Kontrol Özellik Değer

45 Text Box 1 Name TxtArananIfade Combo Box 1 Name CmbAramaYeri Combo Box 1 DropDownStyle DropDownList Combo Box 2 Name CmbAramaKriteri Combo Box 2 DropDownStyle DropDownList Bu özelliklere ek olarak CmbAramaYeri açılan kutunun Items özelliğini de ayarlamalıyız. Items özelliği seçildiğinde (Collection) değerinin yanında butonu görüntülenir. Açılan kutuya değer eklemek için bu butona tıklanmalıdır. Butona tıklayınca, String Collection Editor diyalog kutusu görüntülenir. Bu diyalog kutusu vasıtasıyla açılan kutuya değer ekleyebilirsiniz. CmbAramaKriteri açılır liste kutusunun Columns özelliğini belirtmeye gerek yok. Çünkü burada görüntülenecek değerler CmbAramaKriteri açılır liste kutusunda seçilen değere bağlıdır. Bu yüzden buraya tasarım aşamasında değer girmek yerine, bu değerleri çalışma anında oluşturmalıyız. Bu da program kodlarıyla yapılacaktır. Açılır liste kutularının yanı sıra Güncelle/Sil formu bir de liste görünümü (ListView) nesnesi içerir. Liste görünümü kontrolünün özelliklerine atanacak değerler aşağıda verilmiştir: Özellik Name View FullRowSelect Gridlines Değer LvwAramaSonucu Details True True Liste görünümü kontrolünün Columns özelliğini belirtmeye gerek yoktur. Çünkü burada görüntülenecek sütün başlıkları CmbAramaYeri açılır liste kutusunda seçilen değere bağlı olacaktır. Örneğin kullanıcı CmbAramaYeri açılır liste kutusunda Oyuncu seçeneğini seçtiğinde LvwAramaSonucu kontrolünde bu tabloya ait sütün başlıkları görüntülenecektir. Bu yüzden, CmbAramaKriteri açılır liste kutusunda olduğu gibi, sütün başlıkları da programla oluşturulmalıdır. Güncelle/Sil formunda beş adet de buton var. Tablo: Butonların özellikleri Kontrol Özellik Değer Button 1 Name CmdAra Button 1 Text Ara Button 2 Name CmdGuncelle

46 Button 2 Text Güncelle Button 3 Name CmdSil Button 3 Text Sil Button 4 Name CmdTemizle Button 4 Text Temizle Button 5 Name CmdIptal Button 5 Text İptal İsminden de anlaşılacağı üzere, Ara butonu yöneticinin Güncelle/Sil formunda belirtilen ölçüte göre veritabanında arama yapmasını sağlar. Arama sonucu liste görünümü kontrolünde görüntülenir. Güncelle butonu, yöneticinin kayıtları düzenlemesini sağlar. Bir kaydı düzenlemek için, yönetici liste görünümünden kaydı seçip Güncelle butonuna basabilir. Yönetici, Güncelle butonuna basınca, seçilen kayıt ilgili bilgi girişi formunda görüntülenir. Yönetici seçili kayıtta gerekli değişiklikleri yaptıktan sonra Gönder butonuna basabilir. Ayrıca yönetici seçili kaydı veritabanından silmek için Sil butonunu kullanabilir. Sil butonuna basınca bir onay ileti kutusu görüntülenir. Yönetici, Temizle butonuyla liste görünümünü boşaltabilir; İptal butonuyla Güncelle/Sil formunu kapatılabilir.

47 Raporlar Formu Raporlar formu çeşitli raporlar görüntüler. Üç değişik Rapor formu var: Günlük Satışlar, Beğenilen Filmler ve Müşteri Ayrıntıları. Rapor formları yönetici Ana formda Rapor Oluştur menüsünden bir komut seçtiğinde görüntülenir. Şekil: Günlük Satış Raporu formu Raporlar formunun özellikleri: Özellik Name Text Değer FrmRaporlar Raporlar Size 472, 430 Şekilde de görüldüğü üzere, Raporlar formu bir menü kontrolü içerir. Raporlar formuna bir menü kontrolü eklemek için Araç kutusundaki All Windows Forms sekmesinden MainMenu kontrolünü form üzerine sürükleyin. MainMenu kontrolünü ekledikten sonra buna Çıkış menüsünü ekleyin. Çıkış menüsünün özellikleri aşağıda verilmiştir: Özellik Name Text Değer MmnuCikis Çıkış Raporlar formunda ayrıca bir tane de liste görünümü nesnesi mevcut. Liste görünümü kontrolünün özellikleri: Özellik Name View FullRowSelect Gridlines Değer LvwRapor Details True True

48 Raporlar formundaki LvwRapor kontrolünün Columns özelliğini tasarım aşamasında oluşturmaya gerek yoktur. Çünkü buradaki alan başlıkları Ana formda yöneticinin seçtiği komuta bağlı olacaktır. Bu yüzden bu işlem program kodlarıyla çalışma anında yapılmalıdır. Menü ve liste görünümü nesnelerine ilave olarak Raporlar formu bir etiket ve metin kutusu da içerir. Etiket kontrolünün özellikleri: Özellik Name Text Değer LblToplamSatisTutari Toplam Satış: Metin kutusunun özellikleri: Özellik Name Değer TxtToplamSatisTutari

49 Ana Forma İşlevsellik Kazandırmak Giriş Bu bölümde Yönetici modülünün Ana formuna işlevsellik kazandırmayı öğreneceğiz. Olay prosedürlerini oluşturmadan önce Ana formda aşağıdaki değişkenleri tanımlamalısınız: 'Diğer formları açmak için gerekli nesne tanımlamaları Public Shared ObjOyuncu As FrmOyuncuKayit Public Shared ObjYonetmen As FrmYonetmenKayit Public Shared ObjYapimci As FrmYapimciKayit Public Shared ObjFilm As FrmFilmKayit Public Shared ObjVideo As FrmVideoKayit Public Shared ObjMusteri As FrmMusteriKayit Public Shared ObjGuncelleSil As FrmGuncelleSil Public Shared ObjRapor As FrmRaporlar Ana Formun Tam Kod Dökümü Liste: Ana Formun Kodu Public Class FrmAnaYonetim Inherits System.Windows.Forms.Form Public Shared ObjOyuncu As FrmOyuncuKayit Public Shared ObjYonetmen As FrmYonetmenKayit Public Shared ObjYapimci As FrmYapimciKayit Public Shared ObjFilm As FrmFilmKayit Public Shared ObjVideo As FrmVideoKayit Public Shared ObjMusteri As FrmMusteriKayit Public Shared ObjGuncelleSil As FrmGuncelleSil Public Shared ObjRapor As FrmRaporlar Private Sub MitmOyuncu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmOyuncu.Click ObjOyuncu = New FrmOyuncuKayit() ObjOyuncu.Show() Private Sub MitmYonetmen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmYonetmen.Click ObjYonetmen = New FrmYonetmenKayit() ObjYonetmen.Show()

50 Private Sub MitmYapimci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmYapimci.Click ObjYapimci = New FrmYapimciKayit() ObjYapimci.Show() Private Sub MitmVideo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmVideo.Click ObjVideo = New FrmVideoKayit() ObjVideo.Show() Private Sub MitmFilm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmFilm.Click ObjFilm = New FrmFilmKayit() ObjFilm.Show() Private Sub MitmMusteri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmMusteri.Click ObjMusteri = New FrmMusteriKayit() ObjMusteri.Show() Private Sub MitmGuncelleSil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmGuncelleSil.Click ObjGuncelleSil = New FrmGuncelleSil() ObjGuncelleSil.Show() Private Sub MitmGunlukSatislar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmGunlukSatislar.Click ObjRapor = New FrmRaporlar() ObjRapor.IntRaporTipi = 0 ObjRapor.Show() Private Sub MitmBegenilenFilmler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmBegenilenFilmler.Click ObjRapor = New FrmRaporlar() ObjRapor.IntRaporTipi = 1 ObjRapor.Show() Private Sub MitmMusteriAyrinti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitmMusteriAyrinti.Click ObjRapor = New FrmRaporlar() ObjRapor.IntRaporTipi = 2 ObjRapor.Show() Private Sub MmnuCikis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MmnuCikis.Click Close() End Class

51 Güncelle/Sil Formuna İşlevsellik Kazandırmak Güncelle/Sil formuyla veritabanına bağlanabilmek için System.Data.SqlClient isim alanı (namespace) forma eklenmelidir. System.Data.SqlClient isim alanını forma eklemek için aşağıdaki kod kullanılır: Imports System.Data.SqlClient 'SQL Server.NET veri sağlayıcısı tarafından kullanılan komutları içerir Buna ilave olarak forma aşağıdaki ifadeler de ilave edilmelidir: Imports System.Data ' ADO.NET mimarisi oluşturan ifadeleri içerir Imports System.String 'String lerle çalışmak için gereklidir Imports System.Data.OleDb ' OLE DB.NET veri sağlayıcısı tarafından kullanılan komutları içerir Imports System.Collections Imports System.Data.SqlTypes ' SQL Server içinde kullanılan veri tiplerini tanımlar Güncelle/Sil formunda bir de aşağıdaki değişkenler tanımlanmalıdır: Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Dim Sonuc As Integer Güncelle/Sil Formunun Tam Kod Dökümü Liste: Güncelle/Sil Formunun Kodu Imports System.Data Imports System.String Imports System.Data.OleDb Imports System.Collections Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmGuncelleSil Inherits System.Windows.Forms.Form Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter()

52 Dim Sonuc As Integer Private Sub FrmGuncelleSil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CmbAramaYeri.SelectedIndex = 0 AcilanKutuDegerleriniAyarla() Private Sub CmbAramaYeri_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbAramaYeri.SelectedIndexChanged AcilanKutuDegerleriniAyarla() Private Sub AcilanKutuDegerleriniAyarla() Dim StrAramaYeri As String CmbAramaKriteri.Items.Clear() StrAramaYeri = CmbAramaYeri.Text If (Compare(StrAramaYeri, "Film", True) = 0) Then CmbAramaKriteri.Items.Add("Film No") CmbAramaKriteri.Items.Add("Film Adı") CmbAramaKriteri.Items.Add("Yapım Yılı") CmbAramaKriteri.Items.Add("Kategori") ElseIf (Compare(StrAramaYeri, "Oyuncu", True) = 0) Then CmbAramaKriteri.Items.Add("Oyuncu No") CmbAramaKriteri.Items.Add("Adı") CmbAramaKriteri.Items.Add("Soyadı") ElseIf (Compare(StrAramaYeri, "Yönetmen", True) = 0) Then CmbAramaKriteri.Items.Add("Yönetmen No") CmbAramaKriteri.Items.Add("Adı") CmbAramaKriteri.Items.Add("Soyadı") ElseIf (Compare(StrAramaYeri, "Yapımcı", True) = 0) Then CmbAramaKriteri.Items.Add("Yapımcı No") CmbAramaKriteri.Items.Add("Adı") ElseIf (Compare(StrAramaYeri, "Video", True) = 0) Then CmbAramaKriteri.Items.Add("Video No") CmbAramaKriteri.Items.Add("Format") ElseIf (Compare(StrAramaYeri, "Müşteri", True) = 0) Then CmbAramaKriteri.Items.Add("Müşteri No") CmbAramaKriteri.Items.Add("Adı") CmbAramaKriteri.Items.Add("Soyadı") CmbAramaKriteri.Items.Add("İl") CmbAramaKriteri.SelectedIndex = 0 Private Sub CmdAra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAra.Click Dim DsDataSet As DataSet Dim DrRowPicker As DataRow Dim StrAramaYeri As String Dim StrAramaKriteri As String Dim StrSorgu As String Dim StrArananBos As Boolean StrArananBos = False If TxtArananIfade.Text.Trim = "" Then MessageBox.Show("Aranacak bir ifade giriniz.") StrArananBos = True StrAramaYeri = CmbAramaYeri.Text StrAramaKriteri = CmbAramaKriteri.Text If (Compare(StrAramaYeri, "Film", True) = 0) Then Sonuc = 0

53 StrSorgu = "SELECT DISTINCT FilmNo, FilmAdi, YonetmenNo, YapimciNo, Sure, Aciklama, Kategori, Yili FROM Film " If (Not StrArananBos) Then If (Compare(StrAramaKriteri, "Film No", True) = 0) Then StrSorgu += "WHERE FilmNo = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaKriteri, "Film Adı", True) = 0) Then StrSorgu += "WHERE FilmAdi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaKriteri, "Yapım Yılı", True) = 0) Then StrSorgu += "WHERE Yili = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaKriteri, "Kategori", True) = 0) Then StrSorgu += "WHERE Kategori = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaYeri, "Oyuncu", True) = 0) Then Sonuc = 1 StrSorgu = "SELECT DISTINCT OyuncuNo, Adi, Soyadi FROM Oyuncu " If (Not StrArananBos) Then If (Compare(StrAramaKriteri, "Oyuncu No", True) = 0) Then StrSorgu += "WHERE OyuncuNo = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaKriteri, "Adı", True) = 0) Then StrSorgu += "WHERE Adi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaKriteri, "Soyadı", True) = 0) Then StrSorgu += "WHERE Soyadi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaYeri, "Yönetmen", True) = 0) Then Sonuc = 2 StrSorgu = "SELECT DISTINCT YonetmenNo, Adi, Soyadi FROM Yonetmen " If (Not StrArananBos) Then If (Compare(StrAramaKriteri, "Yönetmen No", True) = 0) Then StrSorgu += "WHERE YonetmenNo = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaKriteri, "Adı", True) = 0) Then StrSorgu += "WHERE Adi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaKriteri, "Soyadı", True) = 0) Then StrSorgu += "WHERE Soyadi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaYeri, "Yapımcı", True) = 0) Then Sonuc = 3 StrSorgu = "SELECT DISTINCT YapimciNo, Adi FROM Yapimci " If (Not StrArananBos) Then If (Compare(StrAramaKriteri, "Yapımcı No", True) = 0) Then StrSorgu += "WHERE YapimciNo = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaKriteri, "Adı", True) = 0) Then StrSorgu += "WHERE Adi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaYeri, "Video", True) = 0) Then Sonuc = 4 StrSorgu = "SELECT DISTINCT VideoNo, FilmNo, Format, Fiyat FROM Video " If (Not StrArananBos) Then If (Compare(StrAramaKriteri, "Video No", True) = 0) Then StrSorgu += "WHERE VideoNo = '" ElseIf (Compare(StrAramaKriteri, "Format", True) = 0) Then StrSorgu += "WHERE Format = '"

54 StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaYeri, "Müşteri", True) = 0) Then Sonuc = 5 StrSorgu = "SELECT DISTINCT MusteriNo, Adi, Soyadi, Adres, Ilce, Il, PostaKodu, TelefonNo, EPosta FROM Musteri " If (Not StrArananBos) Then If (Compare(StrAramaKriteri, "Müşteri No", True) = 0) Then StrSorgu += "WHERE MusteriNo = '" StrSorgu += TxtArananIfade.Text & "'" ElseIf (Compare(StrAramaKriteri, "Adı", True) = 0) Then StrSorgu += "WHERE Adi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaKriteri, "Soyadı", True) = 0) Then StrSorgu += "WHERE Soyadi LIKE '" StrSorgu += TxtArananIfade.Text & "%'" ElseIf (Compare(StrAramaKriteri, "İl", True) = 0) Then StrSorgu += "WHERE Il = '" StrSorgu += TxtArananIfade.Text & "'" Else Sonuc = -1 StrSorgu = "" Dim SelectCmd1 As New SqlCommand(StrSorgu, SqlConnection1) DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = StrSorgu SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "AramaSonucuAdmin") LvwAramaSonucu.Items.Clear() LvwAramaSonucu.Columns.Clear() Dim IntKayitSayisi As Integer IntKayitSayisi = 0 Dim IntKriter As Integer IntKriter = CInt(Sonuc) Dim ColumnHeader1 As New ColumnHeader() Dim ColumnHeader2 As New ColumnHeader() Dim ColumnHeader3 As New ColumnHeader() Dim ColumnHeader4 As New ColumnHeader() Dim ColumnHeader5 As New ColumnHeader() Dim ColumnHeader6 As New ColumnHeader() Dim ColumnHeader7 As New ColumnHeader() Dim ColumnHeader8 As New ColumnHeader() Dim ColumnHeader9 As New ColumnHeader() Dim StrMesaj As String If (IntKriter = 0) Then StrMesaj = "Film bulunamadı." LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3, ColumnHeader4, ColumnHeader5, ColumnHeader6, ColumnHeader7, ColumnHeader8}) ColumnHeader1.Text = "Film No" ColumnHeader2.Text = "Film Adı" ColumnHeader3.Text = "Yönetmen No" ColumnHeader4.Text = "Yapımcı No" ColumnHeader5.Text = "Süre" ColumnHeader6.Text = "Açıklama" ColumnHeader7.Text = "Kategori" ColumnHeader8.Text = "Yapım Yılı" ElseIf (IntKriter = 1) Then StrMesaj = "Oyuncu bulunamadı."

55 LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3}) ColumnHeader1.Text = "Oyuncu No" ColumnHeader2.Text = "Adı" ColumnHeader3.Text = "Soyadı" ElseIf (IntKriter = 2) Then StrMesaj = "Yönetmen bulunamadı." LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3}) ColumnHeader1.Text = "Yönetmen No" ColumnHeader2.Text = "Adı" ColumnHeader3.Text = "Soyadı" ElseIf (IntKriter = 3) Then StrMesaj = "Yapımcı bulunamadı." LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2}) ColumnHeader1.Text = "Yapımcı No" ColumnHeader2.Text = "Adı" ElseIf (IntKriter = 4) Then StrMesaj = "Video bulunamadı." LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3, ColumnHeader4}) ColumnHeader1.Text = "Video No" ColumnHeader2.Text = "Film No" ColumnHeader3.Text = "Format" ColumnHeader4.Text = "Fiyat" ElseIf (IntKriter = 5) Then StrMesaj = "Müşteri bulunamadı." LvwAramaSonucu.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {ColumnHeader1, ColumnHeader2, ColumnHeader3, ColumnHeader4, ColumnHeader5, ColumnHeader6, ColumnHeader7, ColumnHeader8, ColumnHeader9}) ColumnHeader1.Text = "Müşteri No" ColumnHeader2.Text = "Adı" ColumnHeader3.Text = "Soyadı" ColumnHeader4.Text = "Adres" ColumnHeader5.Text = "İlçe" ColumnHeader6.Text = "İl" ColumnHeader7.Text = "Posta Kodu" ColumnHeader8.Text = "Telefon No" ColumnHeader9.Text = "E-Posta" Dim StrDeger0, StrDeger1, StrDeger2, StrDeger3, StrDeger4, StrDeger5, StrDeger6, StrDeger7, StrDeger8 As String Dim IntSayac As Integer For Each DrRowPicker In DsDataSet.Tables("AramaSonucuAdmin").Rows If (IntKriter = 0) Then For IntSayac = 0 To 7 If (DrRowPicker.IsNull(IntSayac)) Then If IntSayac = 0 Then StrDeger0 = "" ElseIf IntSayac = 1 Then StrDeger1 = "" ElseIf IntSayac = 2 Then StrDeger2 = "" ElseIf IntSayac = 3 Then StrDeger3 = "" ElseIf IntSayac = 4 Then StrDeger4 = "" ElseIf IntSayac = 5 Then StrDeger5 = "" ElseIf IntSayac = 6 Then StrDeger6 = "" ElseIf IntSayac = 7 Then StrDeger7 = "" Else If IntSayac = 0 Then

56 StrDeger0 = DrRowPicker(0) ElseIf IntSayac = 1 Then StrDeger1 = DrRowPicker(1) ElseIf IntSayac = 2 Then StrDeger2 = DrRowPicker(2) ElseIf IntSayac = 3 Then StrDeger3 = DrRowPicker(3) ElseIf IntSayac = 4 Then StrDeger4 = DrRowPicker(4) ElseIf IntSayac = 5 Then StrDeger5 = DrRowPicker(5) ElseIf IntSayac = 6 Then StrDeger6 = DrRowPicker(6) ElseIf IntSayac = 7 Then StrDeger7 = DrRowPicker(7) Next Dim StrArananKayit As String() = {StrDeger0, StrDeger1, StrDeger2, StrDeger3, StrDeger4, StrDeger5, StrDeger6, StrDeger7} LvwAramaSonucu.Items.Add(New ListViewItem(StrArananKayit)) ElseIf (IntKriter = 1) Then For IntSayac = 0 To 2 If (DrRowPicker.IsNull(IntSayac)) Then If IntSayac = 0 Then StrDeger0 = "" ElseIf IntSayac = 1 Then StrDeger1 = "" ElseIf IntSayac = 2 Then StrDeger2 = "" Else If IntSayac = 0 Then StrDeger0 = DrRowPicker(IntSayac) ElseIf IntSayac = 1 Then StrDeger1 = DrRowPicker(IntSayac) ElseIf IntSayac = 2 Then StrDeger2 = DrRowPicker(IntSayac) Next Dim StrArananKayit As String() = {StrDeger0, StrDeger1, StrDeger2} LvwAramaSonucu.Items.Add(New ListViewItem(StrArananKayit)) ElseIf (IntKriter = 2) Then For IntSayac = 0 To 2 If (DrRowPicker.IsNull(IntSayac)) Then If IntSayac = 0 Then StrDeger0 = "" ElseIf IntSayac = 1 Then StrDeger1 = "" ElseIf IntSayac = 2 Then StrDeger2 = "" Else If IntSayac = 0 Then StrDeger0 = DrRowPicker(0) ElseIf IntSayac = 1 Then StrDeger1 = DrRowPicker(1) ElseIf IntSayac = 2 Then StrDeger2 = DrRowPicker(2) Next Dim StrArananKayit As String() = {StrDeger0, StrDeger1, StrDeger2} LvwAramaSonucu.Items.Add(New ListViewItem(StrArananKayit)) ElseIf (IntKriter = 3) Then

57 For IntSayac = 0 To 1 If (DrRowPicker.IsNull(IntSayac)) Then If IntSayac = 0 Then StrDeger0 = "" ElseIf IntSayac = 1 Then StrDeger1 = "" Else If IntSayac = 0 Then StrDeger0 = DrRowPicker(0) ElseIf IntSayac = 1 Then StrDeger1 = DrRowPicker(1) Next Dim StrArananKayit As String() = {StrDeger0, StrDeger1} LvwAramaSonucu.Items.Add(New ListViewItem(StrArananKayit)) ElseIf (IntKriter = 4) Then For IntSayac = 0 To 3 If (DrRowPicker.IsNull(IntSayac)) Then If IntSayac = 0 Then StrDeger0 = "" ElseIf IntSayac = 1 Then StrDeger1 = "" ElseIf IntSayac = 2 Then StrDeger2 = "" ElseIf IntSayac = 3 Then StrDeger3 = "" Else If IntSayac = 0 Then StrDeger0 = DrRowPicker(0) ElseIf IntSayac = 1 Then StrDeger1 = DrRowPicker(1) ElseIf IntSayac = 2 Then StrDeger2 = DrRowPicker(2) ElseIf IntSayac = 3 Then StrDeger3 = DrRowPicker(3) Next StrDeger3} Dim StrArananKayit As String() = {StrDeger0, StrDeger1, StrDeger2, LvwAramaSonucu.Items.Add(New ListViewItem(StrArananKayit)) ElseIf (IntKriter = 5) Then For IntSayac = 0 To 8 If (DrRowPicker.IsNull(IntSayac)) Then If IntSayac = 0 Then StrDeger0 = "" ElseIf IntSayac = 1 Then StrDeger1 = "" ElseIf IntSayac = 2 Then StrDeger2 = "" ElseIf IntSayac = 3 Then StrDeger3 = "" ElseIf IntSayac = 4 Then StrDeger4 = "" ElseIf IntSayac = 5 Then StrDeger5 = "" ElseIf IntSayac = 6 Then StrDeger6 = "" ElseIf IntSayac = 7 Then StrDeger7 = "" ElseIf IntSayac = 8 Then StrDeger8 = "" Else

58 If IntSayac = 0 Then StrDeger0 = DrRowPicker(0) ElseIf IntSayac = 1 Then StrDeger1 = DrRowPicker(1) ElseIf IntSayac = 2 Then StrDeger2 = DrRowPicker(2) ElseIf IntSayac = 3 Then StrDeger3 = DrRowPicker(3) ElseIf IntSayac = 4 Then StrDeger4 = DrRowPicker(4) ElseIf IntSayac = 5 Then StrDeger5 = DrRowPicker(5) ElseIf IntSayac = 6 Then StrDeger6 = DrRowPicker(6) ElseIf IntSayac = 7 Then StrDeger7 = DrRowPicker(7) ElseIf IntSayac = 8 Then StrDeger8 = DrRowPicker(8) Next Dim StrArananKayit As String() = {StrDeger0, StrDeger1, StrDeger2, StrDeger3, StrDeger4, StrDeger5, StrDeger6, StrDeger7, StrDeger8} LvwAramaSonucu.Items.Add(New ListViewItem(StrArananKayit)) IntKayitSayisi += 1 Next If IntKayitSayisi = 0 Then MessageBox.Show(StrMesaj) SqlConnection1.Close() SqlDataAdapter1.Dispose() Private Sub CmdGuncelle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGuncelle.Click Dim LstViewCollection As ListView.SelectedListViewItemCollection LstViewCollection = New ListView.SelectedListViewItemCollection(LvwAramaSonucu) Dim IntSecilenSayisi As Integer IntSecilenSayisi = LstViewCollection.Count() If (IntSecilenSayisi < 1) Then MessageBox.Show("Hiç kayıt seçmediniz.") ElseIf IntSecilenSayisi > 1 Then Dim IntKriter As Integer IntKriter = CInt(Sonuc) Dim ObjOyuncu As FrmOyuncuKayit Dim ObjYonetmen As FrmYonetmenKayit Dim ObjYapimci As FrmYapimciKayit Dim ObjFilm As FrmFilmKayit Dim ObjVideo As FrmVideoKayit Dim ObjMusteri As FrmMusteriKayit Dim StrGuncellenecekNo As String = LstViewCollection.Item(0).Text() If (IntKriter = 0) Then ObjFilm = New FrmFilmKayit() ObjFilm.GuncellenecekNoyuAyarla(StrGuncellenecekNo) ObjFilm.Show() ElseIf (IntKriter = 1) Then ObjOyuncu = New FrmOyuncuKayit()

59 ObjOyuncu.GuncellenecekNoyuAyarla(StrGuncellenecekNo) ObjOyuncu.Show() ElseIf (IntKriter = 2) Then ObjYonetmen = New FrmYonetmenKayit() ObjYonetmen.GuncellenecekNoyuAyarla(StrGuncellenecekNo) ObjYonetmen.Show() ElseIf (IntKriter = 3) Then ObjYapimci = New FrmYapimciKayit() ObjYapimci.GuncellenecekNoyuAyarla(StrGuncellenecekNo) ObjYapimci.Show() ElseIf (IntKriter = 4) Then ObjVideo = New FrmVideoKayit() ObjVideo.GuncellenecekNoyuAyarla(StrGuncellenecekNo) ObjVideo.Show() ElseIf (IntKriter = 5) Then ObjMusteri = New FrmMusteriKayit() ObjMusteri.GuncellenecekNoyuAyarla(StrGuncellenecekNo) ObjMusteri.Show() Private Sub CmdSil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSil.Click Dim LstViewCollection As ListView.SelectedListViewItemCollection LstViewCollection = New ListView.SelectedListViewItemCollection(LvwAramaSonucu) Dim IntSecilenSayisi As Integer IntSecilenSayisi = LstViewCollection.Count() If (IntSecilenSayisi < 1) Then MessageBox.Show("Hiç kayıt seçmediniz.") Dim IntSnc As DialogResult IntSnc = MessageBox.Show("Bu kaydı silmek istediğinize emin misiniz?", "", MessageBoxButtons.YesNo) If (IntSnc = DialogResult.No) Then Dim IntSayac As Integer Dim StrSilinecekNo As String = "" For IntSayac = 0 To IntSecilenSayisi - 1 StrSilinecekNo += "'" StrSilinecekNo += LstViewCollection.Item(0).Text StrSilinecekNo += "'" If (IntSayac < IntSecilenSayisi - 1) Then StrSilinecekNo += "," LstViewCollection.Item(0).Remove() Next Dim StrSorgu As String Dim IntKriter As Integer IntKriter = CInt(Sonuc) If (IntKriter = 0) Then StrSorgu = "DELETE FROM Film WHERE FilmNo IN (" StrSorgu += StrSilinecekNo & ")" ElseIf (IntKriter = 1) Then StrSorgu = "DELETE FROM Oyuncu WHERE OyuncuNo IN (" StrSorgu += StrSilinecekNo & ")" ElseIf (IntKriter = 2) Then StrSorgu = "DELETE FROM Yonetmen WHERE YonetmenNo IN (" StrSorgu += StrSilinecekNo & ")" ElseIf (IntKriter = 3) Then StrSorgu = "DELETE FROM Yapimci WHERE YapimciNo IN (" StrSorgu += StrSilinecekNo & ")" ElseIf (IntKriter = 4) Then StrSorgu = "DELETE FROM Video WHERE VideoNo IN ("

60 StrSorgu += StrSilinecekNo & ")" ElseIf (IntKriter = 5) Then StrSorgu = "DELETE FROM Musteri WHERE MusteriNo IN (" StrSorgu += StrSilinecekNo & ")" Dim DeleteCmd1 As New SqlCommand(StrSorgu, SqlConnection1) SqlDataAdapter1.DeleteCommand = DeleteCmd1 Try SqlConnection1.Open() SqlDataAdapter1.DeleteCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try Private Sub CmdTemizle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTemizle.Click LvwAramaSonucu.Items.Clear() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() End Class

61 Bilgi Giriş Formlarına İşlevsellik Kazandırmak Bu kısım aşağıdaki formlara nasıl işlevsellik kazandırılacağını açıklar: Oyuncu Kayıt formu Yönetmen Kayıt formu Yapımcı Kayıt formu Video Kayıt formu Film Kayıt formu Müşteri Kayıt formu Oyuncu Kayıt Formu Diğer formlarda olduğu gibi Oyuncu Kayıt formuna da aşağıdaki ifadeler dâhil edilmelidir: Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Oyuncu Kayıt formunda tanımlanacak değişkenler aşağıdadır: Dim SqlDataAdapter1 As New SqlDataAdapter() Dim SqlConnection1 As New SqlConnection(StrConnectionString) Private StrGuncellenecekNo As String GuncellenecekNoyuAyarla Fonksiyonu GuncellenecekNoyuAyarla fonksiyonu yönetici Güncelle/Sil formunda bir kayıt seçip Gönder butonuna tıklayınca çalışır. Güncelle/Sil fonksiyonu yönetici tarafından seçilen kayıt ifadesini GuncellenecekNoyuAyarla fonksiyonuna aktarır. GuncellenecekNoyuAyarla fonksiyonu yönetici tarafından seçilen kayıt bilgisini StrGuncellenecekNo değişkeninde tutar. Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo FrmOyuncuKayit_Load Fonksiyonu FrmOyuncuKayit_Load Fonksiyonu Oyuncu Kayıt formu yüklenirken çalışır. Bu fonksiyon Oyuncu Kayıt formunun Güncelle/Sil formu tarafından açılıp açılmadığını kontrol eder. Eğer Oyuncu Kayıt formu Güncelle/Sil formu tarafından açılmışsa, FrmOyuncuKayit_Load Fonksiyonu yönetici tarafından seçilmiş olan kayıt bilgilerini getirip görüntüler. Kayıt bilgilerini görüntülemenin yanı sıra fonksiyon aynı zamanda Oyuncu No metin kutusunu kilitler. Oyuncu Kayıt Formunun Tam Kod Dökümü

62 Liste: Oyuncu Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmOyuncuKayit Inherits System.Windows.Forms.Form Dim SqlDataAdapter1 As New SqlDataAdapter() Dim SqlConnection1 As New SqlConnection(StrConnectionString) Private StrGuncellenecekNo As String Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo Private Sub FrmOyuncuKayit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If StrGuncellenecekNo <> "" Then txtoyuncuno.enabled = False Dim SelectString As String SelectString = "SELECT OyuncuNo, Adi, Soyadi, DogumTarihi, Ozgecmis FROM Oyuncu WHERE OyuncuNo = '" & StrGuncellenecekNo & "'" Dim SelectCmd1 As New SqlCommand(SelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = SelectString Try SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "Sonuc") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try txtoyuncuno.databindings.add(new Binding("Text", DsDataSet, "Sonuc.OyuncuNo")) txtadi.databindings.add(new Binding("Text", DsDataSet, "Sonuc.Adi")) txtsoyadi.databindings.add(new Binding("Text", DsDataSet, "Sonuc.Soyadi")) DtpDogumTarihi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.DogumTarihi")) txtozgecmis.databindings.add(new Binding("Text", DsDataSet, "Sonuc.Ozgecmis")) SqlConnection1.Close() SqlDataAdapter1.Dispose() Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If txtoyuncuno.text.trim = "" Then MessageBox.Show("Oyuncu No bilgisini giriniz.") txtoyuncuno.focus() If txtadi.text.trim = "" Then

63 MessageBox.Show("Oyuncı Adı bilgisini giriniz.") txtadi.focus() If txtsoyadi.text.trim = "" Then MessageBox.Show("Oyuncu Soyadı bilgisini giriniz.") txtsoyadi.focus() If StrGuncellenecekNo <> "" Then Dim UpdString As String UpdString = "UPDATE Oyuncu SET OyuncuNo Adi Soyadi DogumTarihi Ozgecmis WHERE OyuncuNo = '" & StrGuncellenecekNo & "'" Dim UpdateCmd1 As New SqlCommand(UpdString, SqlConnection1) SqlDataAdapter1.UpdateCommand = UpdateCmd1 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OyuncuNo", System.Data.SqlDbType.Char, 5, "OyuncuNo")) SqlDataAdapter1.UpdateCommand.Parameters(0).Value = txtoyuncuno.text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.UpdateCommand.Parameters(1).Value = txtadi.text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.UpdateCommand.Parameters(2).Value = txtsoyadi.text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.UpdateCommand.Parameters(3).Value = DtpDogumTarihi.Value SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Ozgecmis", System.Data.SqlDbType.VarChar, 255, "Ozgecmis")) SqlDataAdapter1.UpdateCommand.Parameters(4).Value = txtozgecmis.text Try SqlConnection1.Open() SqlDataAdapter1.UpdateCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt güncellendi.") Else Dim InsString As String InsString = "INSERT INTO Oyuncu(OyuncuNo, Adi, Soyadi, DogumTarihi, Ozgecmis) SELECT OyuncuNo, Adi, Soyadi, DogumTarihi, Ozgecmis FROM Oyuncu WHERE (OyuncuNo Dim InsertCmd1 As New SqlCommand(InsString, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd1 SqlDataAdapter1.InsertCommand.Connection = SqlConnection1 SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@OyuncuNo", System.Data.SqlDbType.VarChar, 5, "OyuncuNo")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = txtoyuncuno.text

64 SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = txtadi.text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = txtsoyadi.text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.InsertCommand.Parameters(3).Value = DtpDogumTarihi.Value SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Ozgecmis", System.Data.SqlDbType.VarChar, 255, "Ozgecmis")) SqlDataAdapter1.InsertCommand.Parameters(4).Value = txtozgecmis.text Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde eklendi.", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() End Class

65 Yönetmen Kayıt Formu Liste: Yönetmen Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmYonetmenKayit Inherits System.Windows.Forms.Form Private StrGuncellenecekNo As String Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If TxtYonetmenNo.Text.Trim = "" Then MessageBox.Show("Yönetmen No bilgisini giriniz.") TxtYonetmenNo.Focus() If TxtAdi.Text.Trim = "" Then MessageBox.Show("Yönetmen Adı bilgisini giriniz.") TxtAdi.Focus() If TxtSoyadi.Text.Trim = "" Then MessageBox.Show("Yönetmen Soyadı bilgisini giriniz.") TxtSoyadi.Focus() If StrGuncellenecekNo <> "" Then Dim UpdString As String UpdString = "UPDATE Yonetmen SET YonetmenNo Adi Soyadi DogumTarihi Ozgecmis WHERE YonetmenNo = '" & StrGuncellenecekNo & "'" Dim UpdateCmd1 As New SqlCommand(UpdString, SqlConnection1) SqlDataAdapter1.UpdateCommand = UpdateCmd1 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@YonetmenNo", System.Data.SqlDbType.Char, 5, "YonetmenNo")) SqlDataAdapter1.UpdateCommand.Parameters(0).Value = TxtYonetmenNo.Text

66 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.UpdateCommand.Parameters(1).Value = TxtAdi.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.UpdateCommand.Parameters(2).Value = TxtSoyadi.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.UpdateCommand.Parameters(3).Value = DtpDogumTarihi.Value SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Ozgecmis", System.Data.SqlDbType.VarChar, 255, "Ozgecmis")) SqlDataAdapter1.UpdateCommand.Parameters(4).Value = TxtOzgecmis.Text Try SqlConnection1.Open() SqlDataAdapter1.UpdateCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt güncellendi.") Else Dim InsString As String InsString = "INSERT INTO Yonetmen(YonetmenNo, Adi, Soyadi, DogumTarihi, Ozgecmis) & _ "SELECT YonetmenNo, Adi, Soyadi, DogumTarihi, Ozgecmis FROM Yonetmen WHERE (YonetmenNo Dim InsertCmd1 As New SqlCommand(InsString, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd1 SqlDataAdapter1.InsertCommand.Connection = SqlConnection1 SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@YonetmenNo", System.Data.SqlDbType.VarChar, 5, "YonetmenNo")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = TxtYonetmenNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = TxtAdi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = TxtSoyadi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.InsertCommand.Parameters(3).Value = DtpDogumTarihi.Value SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Ozgecmis", System.Data.SqlDbType.VarChar, 255, "Ozgecmis")) SqlDataAdapter1.InsertCommand.Parameters(4).Value = TxtOzgecmis.Text Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _

67 "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde eklendi.", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() Private Sub FrmYonetmenKayit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If StrGuncellenecekNo <> "" Then TxtYonetmenNo.Enabled = False Dim SelectString As String SelectString = "SELECT YonetmenNo, Adi, Soyadi, DogumTarihi, Ozgecmis FROM Yonetmen WHERE YonetmenNo = '" & StrGuncellenecekNo & "'" Dim SelectCmd1 As New SqlCommand(SelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = SelectString Try SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "Sonuc") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try TxtYonetmenNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.YonetmenNo")) TxtAdi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Adi")) TxtSoyadi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Soyadi")) DtpDogumTarihi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.DogumTarihi")) TxtOzgecmis.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Ozgecmis")) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Class

68 Yapımcı Kayıt Form Liste: Yapımcı Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmYapimciKayit Inherits System.Windows.Forms.Form Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Private StrGuncellenecekNo As String Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If TxtYapimciNo.Text.Trim = "" Then MessageBox.Show("Yapımcı No bilgisini giriniz.") TxtYapimciNo.Focus() If TxtAdi.Text.Trim = "" Then MessageBox.Show("Yönetici Adı bilgisini giriniz.") TxtAdi.Focus() If StrGuncellenecekNo <> "" Then Dim UpdString As String UpdString = "UPDATE Yapimci SET YapimciNo Adi WHERE YapimciNo = '" & StrGuncellenecekNo & "'" Dim UpdateCmd1 As New SqlCommand(UpdString, SqlConnection1) SqlDataAdapter1.UpdateCommand = UpdateCmd1 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@YapimciNo", System.Data.SqlDbType.VarChar, 5, "YapimciNo")) SqlDataAdapter1.UpdateCommand.Parameters(0).Value = TxtYapimciNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 25, "Adi")) SqlDataAdapter1.UpdateCommand.Parameters(1).Value = TxtAdi.Text Try SqlConnection1.Open() SqlDataAdapter1.UpdateCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _

69 "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt güncellendi.") Else Dim InsString As String InsString = "INSERT INTO Yapimci(YapimciNo, Adi) VALUES SELECT YapimciNo, Adi FROM Yapimci WHERE (YapimciNo Dim InsertCmd1 As New SqlCommand(InsString, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd1 SqlDataAdapter1.InsertCommand.Connection = SqlConnection1 SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@YapimciNo", System.Data.SqlDbType.VarChar, 5, "YapimciNo")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = TxtYapimciNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 25, "Adi")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = TxtAdi.Text Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde eklendi.", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() Private Sub FrmYapimciKayit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If StrGuncellenecekNo <> "" Then TxtYapimciNo.Enabled = False Dim SelectString As String SelectString = "SELECT YapimciNo, Adi FROM Yapimci WHERE YapimciNo = '" & StrGuncellenecekNo & "'" Dim SelectCmd1 As New SqlCommand(SelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = SelectString Try SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "Sonuc")

70 Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try TxtYapimciNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.YapimciNo")) TxtAdi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Adi")) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Class

71 Video Kayıt Formu Liste: Video Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmVideoKayit Inherits System.Windows.Forms.Form Private StrGuncellenecekNo As String Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If TxtVideoNo.Text.Trim = "" Then MessageBox.Show("Video No bilgisini giriniz.") TxtVideoNo.Focus() If TxtFilmNo.Text.Trim = "" Then MessageBox.Show("Film No bilgisini giriniz.") TxtFilmNo.Focus() If TxtFiyat.Text.Trim = "" Then MessageBox.Show("Fiyat bilgisini giriniz.") TxtFiyat.Focus() If StrGuncellenecekNo <> "" Then Dim UpdString As String UpdString = "UPDATE Video SET FilmNo Format Fiyat WHERE VideoNo = '" & StrGuncellenecekNo & "'" Dim UpdateCmd1 As New SqlCommand(UpdString, SqlConnection1) SqlDataAdapter1.UpdateCommand = UpdateCmd1 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FilmNo", System.Data.SqlDbType.VarChar, 5, "FilmNo")) SqlDataAdapter1.UpdateCommand.Parameters(0).Value = TxtFilmNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Format", System.Data.SqlDbType.VarChar, 4, "Format")) SqlDataAdapter1.UpdateCommand.Parameters(1).Value = TxtFormat.Text

72 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlDbType.Money, 8, "Fiyat")) SqlDataAdapter1.UpdateCommand.Parameters(2).Value = TxtFiyat.Text Try SqlConnection1.Open() SqlDataAdapter1.UpdateCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt güncellendi.") Else Dim InsString As String InsString = "INSERT INTO Video(VideoNo, FilmNo, Format, Fiyat) @Fiyat); SELECT VideoNo, FilmNo, Format, Fiyat FROM Video WHERE (VideoNo Dim InsertCmd1 As New SqlCommand(InsString, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd1 SqlDataAdapter1.InsertCommand.Connection = SqlConnection1 SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@VideoNo", System.Data.SqlDbType.VarChar, 5, "VideoNo")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = TxtVideoNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@FilmNo", System.Data.SqlDbType.VarChar, 5, "FilmNo")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = TxtFilmNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Format", System.Data.SqlDbType.VarChar, 4, "Format")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = TxtFormat.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New SqlParameter("@Fiyat", System.Data.SqlDbType.Money, 8, "Fiyat")) SqlDataAdapter1.InsertCommand.Parameters(3).Value = TxtFiyat.Text Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde eklendi.", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close()

73 Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() Private Sub FrmVideoKayit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If StrGuncellenecekNo <> "" Then TxtVideoNo.Enabled = False Dim SelectString As String SelectString = "SELECT VideoNo, FilmNo, Format, Fiyat FROM Video WHERE VideoNo = '" & StrGuncellenecekNo & "'" Dim SelectCmd1 As New SqlCommand(SelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = SelectString Try SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "Sonuc") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try TxtVideoNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.VideoNo")) TxtFilmNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.FilmNo")) TxtFormat.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Format")) TxtFiyat.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Fiyat")) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Class

74 Film Kayıt Formu Liste: Film Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmFilmKayit Inherits System.Windows.Forms.Form Private StrGuncellenecekNo As String Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If TxtFilmNo.Text.Trim = "" Then MessageBox.Show("Film No biligisini giriniz.") TxtFilmNo.Focus() If TxtFilmAdi.Text.Trim = "" Then MessageBox.Show("Film Adı bilgisini giriniz.") TxtFilmAdi.Focus() If TxtYonetmenNo.Text.Trim = "" Then MessageBox.Show("Yönetmen No bilgisini giriniz.") TxtYonetmenNo.Focus() If TxtYapimciNo.Text.Trim = "" Then MessageBox.Show("Yapımcı No bilgisini giriniz.") TxtYapimciNo.Focus() If TxtSure.Text.Trim = "" Then MessageBox.Show("Süre bilgisini giriniz.") TxtSure.Focus()

75 If TxtYapimYili.Text.Trim = "" Then MessageBox.Show("Yapım Yılı bilgisini giriniz.") TxtYapimYili.Focus() If StrGuncellenecekNo <> "" Then Dim UpdString As String UpdString = "UPDATE Film SET FilmNo FilmAdi YonetmenNo YapimciNo Sure Aciklama Kategori Yili WHERE FilmNo = '" & StrGuncellenecekNo & "'" Dim UpdateCmd1 As New SqlCommand(UpdString, SqlConnection1) SqlDataAdapter1.UpdateCommand = UpdateCmd1 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FilmNo", System.Data.SqlDbType.VarChar, 5, "FilmNo")) SqlDataAdapter1.UpdateCommand.Parameters(0).Value = TxtFilmNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FilmAdi", System.Data.SqlDbType.VarChar, 40, "FilmAdi")) SqlDataAdapter1.UpdateCommand.Parameters(1).Value = TxtFilmAdi.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@YonetmenNo", System.Data.SqlDbType.VarChar, 5, "YonetmenNo")) SqlDataAdapter1.UpdateCommand.Parameters(2).Value = TxtYonetmenNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@YapimciNo", System.Data.SqlDbType.VarChar, 5, "YapimciNo")) SqlDataAdapter1.UpdateCommand.Parameters(3).Value = TxtYapimciNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Sure", System.Data.SqlDbType.Int, 4, "Sure")) SqlDataAdapter1.UpdateCommand.Parameters(4).Value = TxtSure.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Aciklama", System.Data.SqlDbType.VarChar, 255, "Aciklama")) SqlDataAdapter1.UpdateCommand.Parameters(5).Value = TxtAciklama.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Kategori", System.Data.SqlDbType.VarChar, 20, "Kategori")) SqlDataAdapter1.UpdateCommand.Parameters(6).Value = TxtKategori.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Yili", System.Data.SqlDbType.Int, 4, "Yili")) SqlDataAdapter1.UpdateCommand.Parameters(7).Value = TxtYapimYili.Text Try SqlConnection1.Open() SqlDataAdapter1.UpdateCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt güncellendi.") Else Dim InsString As String InsString = "INSERT INTO Film(FilmNo, FilmAdi, YonetmenNo, YapimciNo, Sure, Aciklama, Kategori, Yili) @Aciklama, SELECT FilmNo, FilmAdi, YonetmenNo, YapimciNo, Sure, Aciklama, Kategori, Yili FROM Film WHERE (FilmNo

76 Dim InsertCmd1 As New SqlCommand(InsString, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd1 SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FilmNo", System.Data.SqlDbType.VarChar, 5, "FilmNo")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = TxtFilmNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FilmAdi", System.Data.SqlDbType.VarChar, 40, "FilmAdi")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = TxtFilmAdi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@YonetmenNo", System.Data.SqlDbType.VarChar, 5, "YonetmenNo")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = TxtYonetmenNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@YapimciNo", System.Data.SqlDbType.VarChar, 5, "YapimciNo")) SqlDataAdapter1.InsertCommand.Parameters(3).Value = TxtYapimciNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Sure", System.Data.SqlDbType.Int, 4, "Sure")) SqlDataAdapter1.InsertCommand.Parameters(4).Value = TxtSure.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Aciklama", System.Data.SqlDbType.VarChar, 255, "Aciklama")) SqlDataAdapter1.InsertCommand.Parameters(5).Value = TxtAciklama.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Kategori", System.Data.SqlDbType.VarChar, 20, "Kategori")) SqlDataAdapter1.InsertCommand.Parameters(6).Value = TxtKategori.Text If TxtYapimYili.Text = "" Then TxtYapimYili.Text = "Null" SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Yili", System.Data.SqlDbType.Int, 4, "Yili")) SqlDataAdapter1.InsertCommand.Parameters(7).Value = TxtYapimYili.Text Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) Catch MyException As Exception MessageBox.Show(MyException.Message) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde eklendi.", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close()

77 Private Sub FrmFilmKayit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If StrGuncellenecekNo <> "" Then TxtFilmNo.Enabled = False Dim SelectString As String SelectString = "SELECT FilmNo, FilmAdi, YonetmenNo, YapimciNo, Sure, Aciklama, Kategori, Yili FROM Film WHERE FilmNo = '" & StrGuncellenecekNo & "'" Dim SelectCmd1 As New SqlCommand(SelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = SelectString Try SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "Sonuc") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try TxtFilmNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.FilmNo")) TxtFilmAdi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.FilmAdi")) TxtYonetmenNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.YonetmenNo")) TxtYapimciNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.YapimciNo")) TxtSure.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Sure")) TxtAciklama.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Aciklama")) TxtKategori.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Kategori")) TxtYapimYili.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Yili")) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Class

78 Müşteri Kayıt Formu Liste: Müşteri Kayıt Formunun Kodu Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class FrmMusteriKayit Inherits System.Windows.Forms.Form Private StrGuncellenecekNo As String Dim SqlConnection1 As New SqlConnection(StrConnectionString) Dim SqlDataAdapter1 As New SqlDataAdapter() Public Sub GuncellenecekNoyuAyarla(ByVal StrGnclNo As String) StrGuncellenecekNo = StrGnclNo Private Sub CmdGonder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdGonder.Click If TxtAdi.Text.Trim = "" Then MessageBox.Show("Müşteri Adı bilgisini giriniz.") TxtAdi.Focus() If TxtSoyadi.Text.Trim = "" Then MessageBox.Show("Müşteri Soyadı bilgisini giriniz.") TxtSoyadi.Focus() If TxtAdres.Text.Trim = "" Then MessageBox.Show("Adres bilgisini giriniz.") TxtAdres.Focus() If (TxtKKNo.Text.Trim = "") Then MessageBox.Show("Kredi kartı numarası bilgisini giriniz.", "Hata", MessageBoxButtons.OK) TxtKKNo.Focus() ElseIf (TxtKKNo.Text.Trim.Length <> 16) Then

79 MessageBox.Show("Geçersiz kredi kartı bilgisi. Kredi kartı numarasını tekrar giriniz.", "Hata", MessageBoxButtons.OK) TxtKKNo.Focus() If (CDate(DtpKKSKT.Text) < Now()) Then MessageBox.Show("Geçersiz tarih.") DtpKKSKT.Focus() If StrGuncellenecekNo <> "" Then Dim UpdString As String UpdString = "UPDATE Musteri SET Adi Soyadi Adres Ilce Il PostaKodu TelefonNo EPosta DogumTarihi KrediKartiNo KrediKartiSKT WHERE MusteriNo = " & StrGuncellenecekNo Dim UpdateCmd1 As New SqlCommand(UpdString, SqlConnection1) SqlDataAdapter1.UpdateCommand = UpdateCmd1 SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.UpdateCommand.Parameters(0).Value = TxtAdi.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.UpdateCommand.Parameters(1).Value = TxtSoyadi.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Adres", System.Data.SqlDbType.VarChar, 25, "Adres")) SqlDataAdapter1.UpdateCommand.Parameters(2).Value = TxtAdres.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Ilce", System.Data.SqlDbType.VarChar, 25, "Ilce")) SqlDataAdapter1.UpdateCommand.Parameters(3).Value = TxtIlce.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Il", System.Data.SqlDbType.VarChar, 15, "Il")) SqlDataAdapter1.UpdateCommand.Parameters(4).Value = TxtIl.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PostaKodu", System.Data.SqlDbType.VarChar, 7, "PostaKodu")) SqlDataAdapter1.UpdateCommand.Parameters(5).Value = TxtPostaKodu.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TelefonNo", System.Data.SqlDbType.VarChar, 10, "TelefonNo")) SqlDataAdapter1.UpdateCommand.Parameters(6).Value = TxtTelefonNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EPosta", System.Data.SqlDbType.VarChar, 50, "EPosta")) SqlDataAdapter1.UpdateCommand.Parameters(7).Value = TxtEPosta.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.UpdateCommand.Parameters(8).Value = DtpDogumTarihi.Value SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@KrediKartiNo", System.Data.SqlDbType.VarChar, 16, "KrediKartiNo")) SqlDataAdapter1.UpdateCommand.Parameters(9).Value = TxtKKNo.Text SqlDataAdapter1.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@KrediKartiSKT", System.Data.SqlDbType.DateTime, 8, "KrediKartiSKT")) SqlDataAdapter1.UpdateCommand.Parameters(10).Value = DtpKKSKT.Value Try SqlConnection1.Open() SqlDataAdapter1.UpdateCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _

80 "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt güncellendi") Else Dim InsString As String InsString = "INSERT INTO Musteri(Adi, Soyadi, Adres, Ilce, Il, PostaKodu, TelefonNo, EPosta, DogumTarihi, KrediKartiNo, KrediKartiSKT) Dim InsertCmd1 As New SqlCommand(InsString, SqlConnection1) SqlDataAdapter1.InsertCommand = InsertCmd1 SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Adi", System.Data.SqlDbType.VarChar, 50, "Adi")) SqlDataAdapter1.InsertCommand.Parameters(0).Value = TxtAdi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Soyadi", System.Data.SqlDbType.VarChar, 50, "Soyadi")) SqlDataAdapter1.InsertCommand.Parameters(1).Value = TxtSoyadi.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Adres", System.Data.SqlDbType.VarChar, 25, "Adres")) SqlDataAdapter1.InsertCommand.Parameters(2).Value = TxtAdres.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Ilce", System.Data.SqlDbType.VarChar, 25, "Ilce")) SqlDataAdapter1.InsertCommand.Parameters(3).Value = TxtIlce.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Il", System.Data.SqlDbType.VarChar, 15, "Il")) SqlDataAdapter1.InsertCommand.Parameters(4).Value = TxtIl.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PostaKodu", System.Data.SqlDbType.VarChar, 7, "PostaKodu")) SqlDataAdapter1.InsertCommand.Parameters(5).Value = TxtPostaKodu.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TelefonNo", System.Data.SqlDbType.VarChar, 10, "TelefonNo")) SqlDataAdapter1.InsertCommand.Parameters(6).Value = TxtTelefonNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EPosta", System.Data.SqlDbType.VarChar, 50, "EPosta")) SqlDataAdapter1.InsertCommand.Parameters(7).Value = TxtEPosta.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DogumTarihi", System.Data.SqlDbType.DateTime, 8, "DogumTarihi")) SqlDataAdapter1.InsertCommand.Parameters(8).Value = DtpDogumTarihi.Value SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@KrediKartiNo", System.Data.SqlDbType.VarChar, 16, "KrediKartiNo")) SqlDataAdapter1.InsertCommand.Parameters(9).Value = TxtKKNo.Text SqlDataAdapter1.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@KrediKartiSKT", System.Data.SqlDbType.DateTime, 8, "KrediKartiSKT")) SqlDataAdapter1.InsertCommand.Parameters(10).Value = DtpKKSKT.Value Try SqlConnection1.Open() SqlDataAdapter1.InsertCommand.ExecuteNonQuery() Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _

81 "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try MessageBox.Show("Kayıt başarılı bir şekilde eklendi", "Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information) SqlConnection1.Close() SqlDataAdapter1.Dispose() Me.Close() Private Sub CmdIptal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIptal.Click Me.Close() Private Sub FrmMusteriKayit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If StrGuncellenecekNo <> "" Then Dim SelectString As String SelectString = "SELECT Adi, Soyadi, Adres, Ilce, Il, PostaKodu, TelefonNo, EPosta, DogumTarihi, KrediKartiNo, KrediKartiSKT FROM Musteri WHERE MusteriNo = '" & StrGuncellenecekNo & "'" Dim SelectCmd1 As New SqlCommand(SelectString, SqlConnection1) Dim DsDataSet As DataSet DsDataSet = New DataSet() SqlDataAdapter1.SelectCommand = SelectCmd1 SqlDataAdapter1.SelectCommand.CommandText = SelectString Try SqlConnection1.Open() SqlDataAdapter1.Fill(DsDataSet, "Sonuc") Catch MyException As SqlException MessageBox.Show(("Source: " & MyException.Source & ControlChars.Cr & _ "Number: " & MyException.Number.ToString() & ControlChars.Cr & _ "State: " & MyException.State.ToString() & ControlChars.Cr & _ "Class: " & MyException.Class.ToString() & ControlChars.Cr & _ "Server: " & MyException.Server & ControlChars.Cr & _ "Message: " & MyException.Message & ControlChars.Cr & _ "Procedure: " & MyException.Procedure & ControlChars.Cr & _ "Line: " & MyException.LineNumber.ToString())) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Try TxtAdi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Adi")) TxtSoyadi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Soyadi")) TxtAdres.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Adres")) TxtIlce.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Ilce")) TxtIl.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.Il")) TxtPostaKodu.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.PostaKodu")) TxtTelefonNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.TelefonNo")) TxtEPosta.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.EPosta")) DtpDogumTarihi.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.DogumTarihi")) TxtKKNo.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.KrediKartiNo"))

82 DtpKKSKT.DataBindings.Add(New Binding("Text", DsDataSet, "Sonuc.KrediKartiSKT")) SqlConnection1.Close() SqlDataAdapter1.Dispose() End Class

83 Rapor Formlarına İşlevsellik Kazandırmak Raporlar formu günlük satışlarla, beğenilen filmlerle ve müşteri ayrıntılarıyla ilgili çeşitli raporlar görüntüler. Fakat bu raporların hepsi aynı anda görüntülenmezler. Üç değişik Rapor formu var: Günlük Satışlar, Beğenilen Filmler ve Müşteri Ayrıntıları. Şekil: Günlük Satış Raporu formu Şekil: Beğenilen Filmler Raporu formu

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak: Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak: Command objelerini kullanarak direk veritabanı işlemlerini gerçekleştirebilirsiniz. Dataset nesnesini kullanmadan direk veritabanı içerisindeki

Detaylı

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız. Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız. Dim i, n, toplam As Integer toplam = toplam + i MessageBox.Show(i & ".

Detaylı

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx Durum Yönetimi Bu gün dersimizde durum yönetimine (state management) değineceğiz. Önce adı DurumYonetimi isimli yeni bir site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını

Detaylı

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme Vbnet access bağlantısı, ekleme, güncelleme, silme Imports System.Data.OleDb 'DataGridView nesnesine verileri aktar Private Sub Listele(ByVal SQL As String) Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data

Detaylı

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. VS2005 den yeni bir web sitesi oluşturmasını isteyelim. Yeni bir ASP.NET

Detaylı

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız. Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız. Label1.Text = "Kutu işaretlendi " Label1.Text = "Kutu işaretlenmedi " Uygulama

Detaylı

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1 ADO.NET Web üzerinden veritabanına bağlanmak ve veri işlemleri gerçekleştirmek için ADO.NET teknolojinden faydalanarak işlemlerimizi gerçekleştireceğiz. ADO.NET her ne kadar ADO teknolojine benzesede aslında

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ Aşağıda belli bir yere kadar programlanmış olan Gezgin satıcı problemine ait kodları inceleyerek programın geri kalan kısmını tamamlayınız. Seçme, Çaprazlama ve Mutasyon

Detaylı

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir. Ms SQL Server'da Image Veritürü Bölüm Programlama Yazar Öznur KARAKUŞOĞLU Yayın Tarihi 29.08.2005 Okunma Sayısı 1060 Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek. Hedefler Image veri türünün

Detaylı

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ADO.NET Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ADO.NET ve ADO Bir uygulamanın esas gücünü, veri, veritabanları veya veri kaynakları ile olan ilişkisi belirler. Geleneksel

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

MT 373 Visual Basic Programlama Dersi

MT 373 Visual Basic Programlama Dersi MT 373 VB Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT 1 MT 373 Visual Basic Programlama Dersi (VB.NET 2010 Uygulamaları) Dr. İrfan MACİT Matematik Bölümü Laboratuvar Uygulamaları Adana, 2013 MT

Detaylı

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

PERKON PDKS Kurulum ve hızlı başlangıç rehberi Oluşturma 02.11.2015 Revizyon: 19.01.2016 Rev. No: 03 Yazan: Süleyman FAKİR Düzenleyen: F. DELİRİ PERKON PDKS Kurulum ve hızlı başlangıç rehberi 1) PDKS Kurulumu, Lisans Onaylaması Ve Veri Tabanı Ayarları

Detaylı

Interprise. Ülker İletişim Web Servisi. Bu doküman Ülker iletişim web servisi hakkında teknik açıklamaları içerir. İletişim web servisi web adresi :

Interprise. Ülker İletişim Web Servisi. Bu doküman Ülker iletişim web servisi hakkında teknik açıklamaları içerir. İletişim web servisi web adresi : Ülker İletişim Web Servisi Interprise Bu doküman Ülker iletişim web servisi hakkında teknik açıklamaları içerir. İletişim web servisi web adresi : www.ulker.com.tr/webservices/contactservice/contactservice.asmx?wsdl.net

Detaylı

Response : Sunucunun istemciye veri yollamasını

Response : Sunucunun istemciye veri yollamasını Response : Sunucunun istemciye veri yollamasını 27 Ekim 2011 / Perşembe Örnek : 2 tane sayfa açıyoruz,1nci ye TextBox1 ve Button ekliyoruz. Şunu istiyoruz,1nci sayfada şifre girilince, Button u tıklayınca

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

Veritabanı İşlemleri

Veritabanı İşlemleri Veritabanı İşlemleri Bu bölümde; Veritabanı bağlantısı Komutların Yürütülmesi ADO.NET Nesne Modeli kavramları incelenecektir. ADO.NET (ActiveX Data Objects) ADO.NET, var olan Windows API lerinden çok daha

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ ÖRNEK 1 default.aspx

Detaylı

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları Bağlantılı veri ortamları, uygulamaların veri kaynağına sürekli bağlı kaldığı ortamlardır. Bu ortamlarda veri alma ve değiştirme işlemleri

Detaylı

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add 29 Aralık 2011 / Perşembe Visual studio dan veri tabanından veri çekmek için önce bir aspx dosyası açıp,,accessde yeni veri tabanı dosyası açıyoruz. Dikkat : Dosyanın uzantısı.mdb olacak. Masa üstünde

Detaylı

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta Bu gün dersimizde Validation Geçerlik Dentimi Kontrollerine değineceğiz. Önce adı GecerlikDeneme isimli bir yeni site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını ve

Detaylı

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi Nedir? olmadan Login.aspx Bilgilerinizi giriniz Durum Yönetimi İle Login.aspx Bilgilerinizi giriniz Adınız Adınız Pınar Pınar Soyadınız Soyadınız Onay Durdu Onay Durdu Gönder Gönder ASP.NET - 1 sayfa.aspx

Detaylı

7) Çoklu Formlar. Şekil7.1. Araç kutusundaki Add Form butonuna basarak projeye yeni bir form ekleyiniz.

7) Çoklu Formlar. Şekil7.1. Araç kutusundaki Add Form butonuna basarak projeye yeni bir form ekleyiniz. 7) Çoklu Formlar Şimdiye kadar yarattığınız tüm projeler tek bir form tarafından işletilmektedir. Farklı amaca yönelik bilgiler için farklı pencereler kullanırsanız projelerinizin daha profesyonel olabileceğinin

Detaylı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

Veritabanı ve Yönetim Sistemleri

Veritabanı ve Yönetim Sistemleri Veritabanı ve Yönetim Sistemleri Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Öğr. Gör. M. Mutlu YAPICI Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta Temel Kavramlar

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları HSancak Nesne Tabanlı Programlama I Ders Notları Visual C#.NET İle Windows Tabanlı Programlama Windows tabanlı uygulamalar, Windows işletim sistemi üzerinde çalışan uygulamalardır. Windows uygulamaları

Detaylı

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır. Select Case Komutu: VB de karar sürecinde kullanılan komutlardandır. Bu yapı ile sadece bir değişkenin durum kontrolü yapılır. Kontrolü yapılacak değişkenin genel olarak alabileceği değerler belirli ise

Detaylı

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu UYGULAMALAR Uygulama 1:Komut butonu, metin kutusu ve liste kutusu kullanarak bir program oluşturacağız. Programda, bir metin kutusuna girilen sayılardan pozitif olanlar bir listeye, negatif olanlar başka

Detaylı

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım; Bunun için uyevarmi() fonksiyonu tasarlayacağız. Fonksiyon

Detaylı

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Programcılığı Görsel Programlama-I Öğr. Gör. Cansu AYVAZ GÜVEN DİYALOG PENCERELERİ MessageBox File Dialog Pencereleri o ColorDialog o FolderBrowserDialog o FontDialog o OpenFileDialog o SaveFileDialog

Detaylı

3. CheckedListBox 4. ListView

3. CheckedListBox 4. ListView Bu Derste Öğrenecekleriniz: 1. ComboBox 2. ListBox 3. CheckedListBox 4. ListView 5. ImageList No Adı Araç Çubuğu Görünümü Açıklama 1 ComboBox Açılır kutu, içlerinden bir tanesi seçilir 2 ListBox Liste

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları CheckBox Onay Kutusu, kullanıcının mantıksal bir ifade hakkında seçim yapmasına imkân verir. Kullanıcıya seçenekler sunmayı sağlar. Birçok seçenek seçilebilir. CheckBox Özellikleri Özellik Değer Tipi Açıklama

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu SQL'DE VERİ İŞLEME KOMUTLARI SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

Timer İle arka plan renk değişimi

Timer İle arka plan renk değişimi Microsoft Visual Studio Visual Basic Timer İle arka plan renk değişimi Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 1000 'milisaniye

Detaylı

İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ KULLANIM KLAVUZU KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ

İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ KULLANIM KLAVUZU KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ TC İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ İÇERİK YÖNETİM SİSTEMİ KULLANIM KLAVUZU İçindekiler WEB İçerik Sistemine Giriş Bilgileri... 3 Sunucu, Şifre, SQL, yedekleme, Debug... Hata! Yer işareti tanımlanmamış.

Detaylı

24 Kasım 2011 / Perşembe

24 Kasım 2011 / Perşembe 24 Kasım 2011 / Perşembe Evde yüklemek için ServisPack1 yükleniyor.daha sonra Ajax Kontrol Toolkit i yüklüyoruz. 2008 için 3,5 olanı yüklenecek. Geçen hafta nasıl yükleneceği anlatıldı. TextBox1 ve ToolkitScriptManager

Detaylı

Blogcu Kullanma Kılavuzu

Blogcu Kullanma Kılavuzu Blogcu Kullanma Kılavuzu İnternet tarayıcınıza www.blogcu.com adresini yazın ve görüntüleyin. 1 İki adımda basit olarak Web günlüğü oluşturabilirsiniz. Lütfen aşağıdaki adımları takip edin. Adım 1 : Sayfa

Detaylı

Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci normal formu Aşağıdaki tablo ile ele alacağız.

Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci normal formu Aşağıdaki tablo ile ele alacağız. Normalleştirme ve Uygulaması Normalleştirme Neden Uygulanır: İlişkisel veritabanı oluşturmak için normalleştirmeyi bilmek çok önemlidir. Normalleştirme işlemini anlayabilmek için ise fonksiyonel bağımlılık

Detaylı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1. Uygulamalar 4 IsMissing (Değişken) Visual Basic te fonksiyon veya alt programlara giriş parametresi olarak Optional deyimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing

Detaylı

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.NET Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO 2012 GELİŞTİRME

Detaylı

Örnek Uygulama: CheckedListBox da seçili olanları listbox nesnesine ekleyen program.

Örnek Uygulama: CheckedListBox da seçili olanları listbox nesnesine ekleyen program. Nesne Tabanlı Programlama I (C#) Ders Notu S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY 11 Selecteditem: Hangi öğe seçili ise onun adını verir. CheckedListBox da seçili olanları listbox nesnesine

Detaylı

12 Ocak 2012 / Perşembe

12 Ocak 2012 / Perşembe 12 Ocak 2012 / Perşembe Masa üstünde webvt adlı klasör var. Bu klasör üzerinde çalışacağımız için bunu web sitemiz olarak açacağız. Visio Studio programını açıp File Open Web Site açılan pencerede Masa

Detaylı

1-) Veritabanımıza bağlanmak için bir SqlConnection nesnesi, 2-) Veritabanındaki bilgileri kullanmak (seçme, kaydetme, silme, güncelleme) için

1-) Veritabanımıza bağlanmak için bir SqlConnection nesnesi, 2-) Veritabanındaki bilgileri kullanmak (seçme, kaydetme, silme, güncelleme) için Selçuk ÖZKAN 1-) Veritabanımıza bağlanmak için bir SqlConnection nesnesi, 2-) Veritabanındaki bilgileri kullanmak (seçme, kaydetme, silme, güncelleme) için SqlCommand 3-) SqlCommand ın yapacağı işlem için

Detaylı

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ. 20 Ocak 2012 / Cuma Yeni uygulama Yönetim adlı bir klasör oluşturacağız. Yönetim klasörü içerisine bir masterpage oluşturacağız. (tabloyla) Örneğin; Ana Sayfa Albüm ekle Fotoğraf ekle Content Place Holder(Değişecek

Detaylı

PALET TEYİT EKRANI EĞİTİM NOTU

PALET TEYİT EKRANI EĞİTİM NOTU PALET TEYİT EKRANI EĞİTİM NOTU 1. Adım: Oturumu aç Butonunun üzerini tıklayın. 2. Adım: Kullanıcı adı ve parolanızı ilgili kutucuklara yazın ve Enter tuşuna basın. 3. Adım: 1 Kullanıcı adı ve şifrenizi

Detaylı

KONTROL YAPILARI (CONTROL STRUCTURES)

KONTROL YAPILARI (CONTROL STRUCTURES) Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-I 0 KONTROL YAPILARI (CONTROL STRUCTURES) GĠRĠġ Kontrol yapıları, program akışını değiştirmek için kullanılan yapılardır. Yapısal programlama dillerinde

Detaylı

Orkestra Ürünler. Ana Sayfa / Orkestra Ürünler

Orkestra Ürünler. Ana Sayfa / Orkestra Ürünler DILLER YARDIM SISTEME GIRIŞ Orkestra Ürünler Ana Sayfa / Orkestra Ürünler 1- Satış Faturalarının İHRACAT Faturası olarak Gönderilebilmesi İhraç kayıtlı e-faturaların Logo'da "İhracat" modülünde oluşturulması

Detaylı

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri Visual Basic Uygulamaları-4 Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri Bellekte sürekli yer kaplayan aynı türden verilerin oluşturduğu kümeye dizi denir. Tanımdan da anlaşılacağı üzere bir dizinin dizi olabilmesi

Detaylı

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2.

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2. 6 7 Server Kontrol Nedir? Kullanıcı arabirimi veya diğer ilişkisel fonksiyonlar oluşturmak üzere Server üzerinde çalışan componentlere denir. Server kontroller runat= server özelliğine sahiptirler. (Şekil

Detaylı

GridView ve DetailsView kullanarak kayıt düzenlemek

GridView ve DetailsView kullanarak kayıt düzenlemek GridView ve DetailsView kullanarak kayıt düzenlemek Bir önceki yazımda teorik olarak bu iki kontrole ait eventlerden söz etmiştim. Şimdi uygulama yapma zamanı. Bunun için daha önceki yazılarımıza devam

Detaylı

BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI

BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI TABLOLARIN OLUŞTURULMASI Programda beş temel dosya üzerinde çalışılmiştır. Bunlar aşağıdaki resimde görülen Malzeme, Personel,

Detaylı

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: BİL 1007

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: BİL 1007 Dersi Veren Birim: Mühendislik Fakültesi Dersin Adı: BİLGİSAYAR PROGRAMLAMA II Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora) Dersin Kodu: BİL 007 Dersin Öğretim Dili: Türkçe Formun Düzenleme

Detaylı

Görsel Programlama (Visual Programming) 2.Hafta

Görsel Programlama (Visual Programming) 2.Hafta Görsel Programlama (Visual Programming) 2.Hafta 2016-2017 Bahar Dönemi Class Yapısı ve Form 1Muhammer İLKUÇAR, MAKÜ-2015 BURDUR Class - Obje Nesne (Nesne tabanlı programlama) İnsan ırkının ortak özelliklerini

Detaylı

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. 3 Kasım 2011 / Perşembe Örnek : Button a tıklamadan seçim yapınca işlem yapılsın. Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. RadioButtonList1 e tek tıklayıp sağdan

Detaylı

SAP ÜRETİM TEYİT EKRANI EĞİTİM NOTU

SAP ÜRETİM TEYİT EKRANI EĞİTİM NOTU SAP ÜRETİM TEYİT EKRANI EĞİTİM NOTU 1. Adım: Oturumu aç Butonunun üzerini tıklayın. 2. Adım: Kullanıcı adı ve parolanızı ilgili kutucuklara yazın ve Enter tuşuna basın. 3. Adım: 1 Kullanıcı adı ve şifrenizi

Detaylı

Proje 1. Arayüz Tasarımı

Proje 1. Arayüz Tasarımı Proje 1. Arayüz Tasarımı 1. Yeni bir android projesi oluşturalım. Proje ismi: ArayuzTasarimi ve aktivity adı: ArayuzTasarimi olarak yazalım. 2. Projejiyi oluşturduktan sonra bize hazır olarak gelen dosyalar:

Detaylı

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)... Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:

Detaylı

C Sharp /Veri tabanı işlemleri

C Sharp /Veri tabanı işlemleri C Sharp /Veri tabanı işlemleri C#'ta veri tabanı işlemleri System.Data isim alanındaki ve bu isim alanının altındaki alt isim alanlarındaki türlerle yapılır. System.Data isim alanına programcılar ADO.NET

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN VERITABANI-I SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki

Detaylı

Mikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

Mikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür. Mikro Ayarları Mikro muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak

Detaylı

Visual Basic. Dosya İşlemleri

Visual Basic. Dosya İşlemleri Microsoft Visual Studio Visual Basic Dosya İşlemleri Visual Basic te dosya okuma, ilgili dosyaya yazma işlemleri için Imports System.IO kütüphanesi kullanılmaktadır. İlk önce bu kütüphane aktif edilmelidir.

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME Default.aspx

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken] Sayaçlar Düzenli olarak artan (+) veya azalan (-) sayı veya string ifadeler elde etmek için kullanılırlar. Eşitliğin her iki tarafındaki değişken isminin aynı olmasına dikkat edin. Bu durum matematik olarak

Detaylı

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri VERİTABANI BAĞLANTISI Site içindeki bilgilerin saklanması / düzenlenmesi ve kullanıcı etkileşiminin sağlanabilmesi

Detaylı

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu WEB FORMLARI Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu WEB FORMLARI Web uygulamalarının etkileşimli olabilmesi için, diğer bir ifade ile uygulamanın kullanıcı isteğine

Detaylı

Görsel Programlama (Visual Programming)

Görsel Programlama (Visual Programming) Görsel Programlama (Visual Programming) 2014-2015 Bahar Dönemi ListBox 1 2 Bileşeni(Nesnesi) Text Özelliği TextBox nesnesi gibi kullanılabilir 3 Item Ekleme 4 combobox1.maxdropdownitems = 5; combobox1.maxdropdownwidth=200;

Detaylı

Yeni Web Sitesi Oluşturma: Visual Studio 2012 açılır. File>New>Web Site>C#-Asp Empty Site

Yeni Web Sitesi Oluşturma: Visual Studio 2012 açılır. File>New>Web Site>C#-Asp Empty Site ASP.NET C# Yeni Web Sitesi Oluşturma: Visual Studio 2012 açılır. File>New>Web Site>C#-Asp Empty Site Proje üzerine web form ekleme: proje ismine sağ tıklanır.add>add New Item>web form Projeye harici css

Detaylı

IOF Eventor için Sporcu Kılavuzu

IOF Eventor için Sporcu Kılavuzu IOF Eventor için Sporcu Kılavuzu İçindekiler Sporcu İçin Kullanıcı Hesabı Oluşturma Profilimi düzenle Herkese açık profilini görüntüle Profil metninizi düzenleyin Fotoğrafınızı değiştirme / Ekleme Yarışmalarımı

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

ÜNİTE ÜNİTE MICROSOFT POWER POINT - I TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

ÜNİTE ÜNİTE MICROSOFT POWER POINT - I TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER ÜNİTE 11 MICROSOFT POWER POINT - I İÇİNDEKİLER BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ Genel bilgiler PowerPoint penceresinin tanıtımı Sekmelerin genel tanıtımı Sunular ile ilgili işlemler Boş sunu

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler SQL'de Veri İşleme Komutları SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

VeriTabanı Uygulamaları

VeriTabanı Uygulamaları VeriTabanı Uygulamaları Bir uygulamanın esas gücünü, veri, veri tabanları ve veri kaynakları ile olan ilişkisi belirler. Eğer bunlara kolayca hakim olan, yöneten teknolojilere sahipse o uygulama gerçekten

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları ComboBox Bir Windows açılan kutu sunu temsil eder. ComboBox kontrolü, kullanıcıların bazı değerleri açılan bir listeden seçmesini sağlar. Listeye tasarım anında veya çalışma anında öğe eklenebilir. Listeye

Detaylı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

Bu döküman Niğde Üniversitesi Akademik Bilgi Sistemi için kullanma kılavuzudur. İçerik olarak, sistemin kullanım şeklini göstermektedir.

Bu döküman Niğde Üniversitesi Akademik Bilgi Sistemi için kullanma kılavuzudur. İçerik olarak, sistemin kullanım şeklini göstermektedir. Bu döküman Niğde Üniversitesi Akademik Bilgi Sistemi için kullanma kılavuzudur. İçerik olarak, sistemin kullanım şeklini göstermektedir. Akademik Bilgi Sistemi ne http://mf.nigde.edu.tr/akbis adresinden

Detaylı

a,b başlangıç değerlerini 0 kabul et a sayısını verin b sayısını verin hayır hayır b< a? evet a=b a değerini ekrana yaz

a,b başlangıç değerlerini 0 kabul et a sayısını verin b sayısını verin hayır hayır b< a? evet a=b a değerini ekrana yaz Örnek Sorular Örnek (2006 yılı vize sorusu) Dim a,b as double a = InputBox("Bir sayı verin") Do b = InputBox("Bir sayı verin") If b = -99 Then Exit Do Select Case b Case is < a a = b End Select Loop MsgBox

Detaylı

Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır

Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır BÖLÜM 3 3.VİSUAL BASİC DE DEGİŞKEN TANIMLAMA Degişken tanımlarken Visual Basic te Dim bildiri deyimini kullanabiliriz. Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının belirli olmasını sağlar.

Detaylı

1 Aralık 2011 / Perşembe

1 Aralık 2011 / Perşembe 1 Aralık 2011 / Perşembe Örnek :İki adet panel var.eğer 1nci panelde şifre Mustafa ise kendimiz bir session değişkeni oluşturup tamam yazdıracağız.değilse Şifre hatalı yazdıracağız. protectedvoid Page_Load(object

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 23 May. 2016 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları yardımıyla

Detaylı

INPUTBOX() ile Veri Girişi

INPUTBOX() ile Veri Girişi VISUAL BASIC DE VERİ GİRİŞİ VE EKRAN MESAJLARI INPUTBOX() ile Veri Girişi Yapısı : Default Değer Form Üzerindeki Konum (0,0) sol üst köşe Değişken adı Veri Giriş Kutusu Gövdesindeki Mesaj Veri Giriş Kutusu

Detaylı

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR ve ÖĞRETİM TEKNOLOJİLERİ EĞİTİMİ BTÖ201- Programlama Dilleri 1 Hazırlayanın; Adı Soyadı Çağdaş KARADEMİR Numarası 20742248 Ders Sorumlusu Hakan Tüzün İçindekiler Problem

Detaylı

T.C. İSTANBUL ÜNİVERSİTESİ 2016-2017 GÜZ YARIYILI ÖZEL YETENEK BAŞVURU KILAVUZU A) ÖZEL YETENEK BAŞVURU SİSTEMİNE GİRİŞ...2

T.C. İSTANBUL ÜNİVERSİTESİ 2016-2017 GÜZ YARIYILI ÖZEL YETENEK BAŞVURU KILAVUZU A) ÖZEL YETENEK BAŞVURU SİSTEMİNE GİRİŞ...2 T.C. İSTANBUL ÜNİVERSİTESİ 2016-2017 GÜZ YARIYILI ÖZEL YETENEK BAŞVURU KILAVUZU İçindekiler A) ÖZEL YETENEK BAŞVURU SİSTEMİNE GİRİŞ...2 1.Profil Bilgilerini Düzenleme Ve Özel Yetenek Başvuru Modülü.....

Detaylı

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ GÖRSEL PROGRAMLAMADA HATA GİDERME ANKARA 2007 Milli Eğitim Bakanlığı tarafından geliştirilen

Detaylı

VISUAL STUDIO.NET ve Veritabanı

VISUAL STUDIO.NET ve Veritabanı VISUAL STUDIO.NET ve Veritabanı C# Veritabanı (Bilge ADAM) notlarına bakınız. Ms Access ile OLEDB Bağlantı Cümleleri Access e Bağlantı Provider=Microsoft.Jet.OLEDB.4.0; Data Source=DB_Name.mdb; Access

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA) İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

Detaylı

Admin. Admin.

Admin. Admin. Admin İçindekiler VeduBox Admin... 3 Ana Sayfa... 3 Ayarlar... 3 Genel... 3 Ödeme... 4 Ders... 4 Sms-Email... 4 Diğer... 5 Şube Yetkilileri... 5 Öğretmenler... 5 Kullanıcı İşlemleri... 5 Şubeler... 5 Şube

Detaylı

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT Bilgi Girifli InputBox fonksiyonu: Program sırasında, kullanıcının klavyeden bilgi girifli yapmasını sa layan fonksiyondur. Girilen bilgi, bir de iflkene aktarılmalıdır. Afla ıda InputBox fonksiyonunun

Detaylı

Visual Basic Windows Window Progr Pr a ogr mlama a

Visual Basic Windows Window Progr Pr a ogr mlama a Visual Basic Windows Programlama Konular Değişken Tipleri Hata Yakalama Windows bileşenlerinin kullanılması Menu ve Toolbar oluşturma Yazdırma işlemleri Veri Tabanı işlemleri Grafik işlemleri Private :

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İNTERNET TABANLI PROGRAMLAMA- 3.ders DİZİLER İNTERNET TABANLI PROGRAMLAMA- 3.ders Diziler bir çok bilgiyi tek bir değişken içerisinde tutmamızı sağlayan ifadelerdir. Dizide tutulan bilgiler Ram da tutulur. Elektrikler kesildiğinde dizideki

Detaylı

Ders 7: Form Kontrol Elemanları. barisgokce.com

Ders 7: Form Kontrol Elemanları. barisgokce.com Ders 7: Form Kontrol Elemanları Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com DateTimePicker Kullanıcıya tarih ve zaman ile ilgili bilgi göstermek ve almak için kullanılır.

Detaylı

PROGRAMLAMA DERSİ 1. İNTERNET

PROGRAMLAMA DERSİ 1. İNTERNET PROGRAMLAMA DERSİ 1. İNTERNET İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan bir bilgisayar (kullanıcı-client) ve bu isteği karşılayan özel bir bilgisayar

Detaylı