Upload
mercin-karakas
View
313
Download
10
Embed Size (px)
DESCRIPTION
C# proje uygulaması - video marketi oluşturmak
Citation preview
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ı
Not: Musteri tablosunun MusteriNo alanının Identity özelliği Yes olmalıdır.
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 Değer
Name FrmAna
Text 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.
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 Değer
Name Comic San MS
Size 14.25
Bold True
Forecolor 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.
Arama Formu
Arama formu müşterilerin film aramasına imkân verir.
Arama Formunun Özellikleri:
Özellik Değer
Name FrmArama
Text 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
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 Değer
Name LvwAramaSonucu
View Details
FullRowSelect True
GridLines True
Arama formu üç butona sahiptir.
Tablo: Butonların Özellikleri
Kontrol Özellik Değer
Button 1 Name CmdAra
Button 1 Text Ara
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.
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 Değer
Name FrmKayit
Text 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
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
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.
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 Değer
Name FrmSiparis
Text 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
Name LvwSecim
View Details
FullRowSelect True
GridLines 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.
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:
using System.Data.SqlClient;
Yukarıdaki ifadeye ilave olarak Ana forma aşağıdaki ifadeler de dâhil edilmelidir:
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlTypes;
Aşağıdaki değişkenler de Ana formda tanımlanmalıdır:
public static FrmArama ObjArama;
public static FrmKayit ObjKayit;
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 sınıf eklemeliyiz. Bunun için Project menüsünden Add Class… seçeneği kullanılır. Oluşan sınıfa yazılacak kod şöyledir:
public static String StrConnectionString = "Data Source=localhost;Initial
Catalog=Filmler;Integrated Security=True";
Ana Formun Tam Kod Dökümü
Liste: Ana Formun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication6
{
public partial class FrmAna : System.Windows.Forms.Form
{
public FrmAna()
{
InitializeComponent();
}
#region Default Instance
private static FrmAna defaultInstance;
public static FrmAna Default
{
get
{
if (defaultInstance == null)
{
defaultInstance = new FrmAna();
defaultInstance.FormClosed += new
FormClosedEventHandler(defaultInstance_FormClosed);
}
return defaultInstance;
}
}
static void defaultInstance_FormClosed(object sender, FormClosedEventArgs e)
{
defaultInstance = null;
}
#endregion
public static FrmArama ObjArama;
public static FrmKayit ObjKayit;
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (TxtMusteriNo.Text.Trim() == "")
{
MessageBox.Show("Müşteri numaranızı giriniz.");
}
else
{
ObjArama = new FrmArama();
if (Information.IsNumeric(TxtMusteriNo.Text))
{
if (MusteriNoGecerlimi(TxtMusteriNo.Text))
{
ObjArama.KayitNoAyarla(TxtMusteriNo.Text);
ObjArama.Show();
}
else
{
MessageBox.Show("Geçersiz Müşteri numarası");
}
}
else
{
MessageBox.Show("Geçersiz Müşteri numarası");
}
}
}
private bool MusteriNoGecerlimi(String MusteriNo)
{
bool returnValue;
String StrSorgu;
String StrKayitSayisi;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
StrSorgu = "SELECT COUNT(MusteriNo) FROM Musteri WHERE MusteriNo =\'" +
MusteriNo + "\'";
SqlConnection1.Open();
SqlCommand SelectCmd = new SqlCommand(StrSorgu, SqlConnection1);
StrKayitSayisi = Convert.ToString( SelectCmd.ExecuteScalar());
SqlConnection1.Close();
SqlConnection1.Dispose();
SelectCmd.Dispose();
if (int.Parse( StrKayitSayisi)> 0)
{
returnValue = true;
}
else
{
returnValue = false;
}
return returnValue;
}
private void CmdKayit_Click(System.Object sender, System.EventArgs e)
{
ObjKayit = new FrmKayit();
ObjKayit.Show();
}
private void CmdAra_Click(System.Object sender, System.EventArgs e)
{
ObjArama = new FrmArama();
ObjArama.Show();
}
private void CmdCikis_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
}
}
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:
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
Ayrıca aşağıdaki değişkenler de Arama formunda tanımlanmalıdır:
public static FrmSiparis ObjSiparisVer;
public static FrmKayit ObjKayit;
public static String[] FilmNoDizisi = new String[11];
//String dizi tanımı
private static String StrKayitNo;
//Müşteri No'yu tutan string değişken tanımı
Arama Formunun Tam Kod Dökümü
Liste: Arama Formunun Kodu
using System;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication6
{
public partial class FrmArama : System.Windows.Forms.Form
{
public static FrmSiparis ObjSiparisVer;
public static FrmKayit ObjKayit;
public static String[] FilmNoDizisi = new String[11];
//String dizi tanımı
private static String StrKayitNo;
//Müşteri No'yu tutan string değişken tanımı
private void CmdCikis_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void CmdSiparisVer_Click(System.Object sender, System.EventArgs
e)
{
ListView.SelectedListViewItemCollection LstViewCollection;
LstViewCollection = new
ListView.SelectedListViewItemCollection(LvwAramaSonucu);
int IntToplamSecilenSayisi;
IntToplamSecilenSayisi = LstViewCollection.Count;
if (IntToplamSecilenSayisi < 1)
{
MessageBox.Show("Hiçbir film seçmediniz. Lütfen listeden
film(ler)inizi seçip \"Sipariş Ver\" butonuna tıklayınız.");
return;
}
if (StrKayitNo == "")
{
MessageBox.Show("Sipariş vermeden önce kaydolmalısınız.");
ObjKayit = new FrmKayit();
ObjKayit.Show();
}
else
{
ObjSiparisVer = new FrmSiparis();
ObjSiparisVer.KayitNoAyarla(StrKayitNo);
int IntSayac;
for (IntSayac = 0; IntSayac <= IntToplamSecilenSayisi - 1;
IntSayac++)
{
FilmNoDizisi[IntSayac] =
LstViewCollection[IntSayac].Text;
}
ObjSiparisVer.SecilenFilmeriAyarla(FilmNoDizisi,
IntToplamSecilenSayisi);
ObjSiparisVer.Show();
}
}
private void CmdAra_Click(System.Object sender, System.EventArgs e)
{
DataSet DsDataSet;
String StrAramaKriteri;
String StrSorgu;
int Sonuc;
bool StrAramaBosmu;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
SqlCommand SqlSelectCommand1 = new SqlCommand();
StrAramaBosmu = false;
if (TxtAranan.Text.Trim() == "")
{
StrAramaBosmu = true;
}
StrAramaKriteri = CmbAramaKriteri.Text;
if (String.Compare(StrAramaKriteri, "Film", true) == 0)
{
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 (! StrAramaBosmu)
{
StrSorgu += " AND a.FilmAdi LIKE \'" + TxtAranan.Text
+ "%\'";
}
}
else if (String.Compare(StrAramaKriteri, "Oyuncu", true) == 0)
{
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, 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 (! StrAramaBosmu)
{
StrSorgu += "AND (b.Adi LIKE \'" + TxtAranan.Text +
"%\' OR b.Soyadi LIKE \'" + TxtAranan.Text + "%\') ";
}
}
else if (String.Compare(StrAramaKriteri, "Yonetmen", true) == 0)
{
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 (! StrAramaBosmu)
{
StrSorgu += "AND (b.Adi LIKE \'" + TxtAranan.Text +
"%\' OR b.Soyadi LIKE \'" + TxtAranan.Text + "%\') ";
}
}
else if (String.Compare(StrAramaKriteri, "Yapimci", true) == 0)
{
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 (! StrAramaBosmu)
{
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();
int IntKayitSayisi;
IntKayitSayisi = 0;
foreach (DataRow DrRowPicker in
DsDataSet.Tables["AramaSonucu"].Rows)
{
String[] StrSearchRow = new String[] {
Convert.ToString(DrRowPicker[0]), Convert.ToString(DrRowPicker[4]),
Convert.ToString(DrRowPicker[5]), Convert.ToString(DrRowPicker[6]),
Convert.ToString(DrRowPicker[7]) };
LvwAramaSonucu.Items.Add(new ListViewItem(StrSearchRow));
IntKayitSayisi++;
}
int IntSnc;
IntSnc = Sonuc;
if (IntKayitSayisi == 0)
{
CmdSiparisVer.Enabled = false;
}
else
{
CmdSiparisVer.Enabled = true;
}
if (IntKayitSayisi == 0)
{
if (IntSnc == 0)
{
MessageBox.Show("Film bulunamadı.");
}
else if (IntSnc == 1)
{
MessageBox.Show("Bu aktöre ait herhangi bir film
bulunamadı.");
}
else if (IntSnc == 2)
{
MessageBox.Show("Bu yönetmene ait herhangi bir film
bulunamadı.");
}
else if (IntSnc == 3)
{
MessageBox.Show("Bu yapımcıya ait herhangi bir film
bulunamadı.");
}
}
SqlConnection1.Close();
SqlConnection1.Dispose();
SqlSelectCommand1.Dispose();
SqlDataAdapter1.Dispose();
}
private void FrmArama_Load(System.Object sender, System.EventArgs e)
{
CmbAramaKriteri.SelectedIndex = 0;
CmdSiparisVer.Enabled = false;
LvwAramaSonucu.Items.Clear();
LvwAramaSonucu.Columns.Clear();
ColumnHeader ColumnHeader1 = new ColumnHeader();
ColumnHeader ColumnHeader2 = new ColumnHeader();
ColumnHeader ColumnHeader3 = new ColumnHeader();
ColumnHeader ColumnHeader4 = new ColumnHeader();
ColumnHeader ColumnHeader5 = 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 void KayitNoAyarla(String KytNo)
{
StrKayitNo = KytNo;
}
}
}
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:
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
Ayrıca aşağıdaki değişken de Kayıt formunda tanımlanmalıdır:
public static FrmArama ObjArama;
Kayıt Formunun Tam Kod Dökümü
Liste: Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication6
{
public partial class FrmKayit : System.Windows.Forms.Form
{
public static FrmArama ObjArama;
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
String StrSorgu;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
if (TxtAdi.Text.Trim() == "")
{
MessageBox.Show("Müşteri Adı bilgisini giriniz.");
TxtAdi.Focus();
return;
}
if (TxtSoyadi.Text.Trim() == "")
{
MessageBox.Show("Müşteri Soyadı bilgisini giriniz.");
TxtSoyadi.Focus();
return;
}
if (TxtAdres.Text.Trim() == "")
{
MessageBox.Show("Adres bilgisini giriniz.");
TxtAdres.Focus();
return;
}
if (TxtKKNo.Text.Trim() == "")
{
MessageBox.Show("Kredi kartı numarasını giriniz.");
TxtTelefonNo.Focus();
return;
}
else if (TxtKKNo.Text.Trim().Length != 16)
{
MessageBox.Show("Geçersiz kredi kartı numarası. Lütfen kredi
kartı numarasını tekrar giriniz.");
TxtTelefonNo.Focus();
return;
}
if ((DateTime) DtpKKSKT.Value< DateTime.Now)
{
MessageBox.Show("Invalid date.");
DtpKKSKT.Focus();
return;
}
StrSorgu = "INSERT INTO Musteri (Adi, Soyadi, Adres, Ilce, Il,
PostaKodu, TelefonNo, EPosta, DogumTarihi, KrediKartiNo, KrediKartiSKT) VALUES (@Adi, " +
"@Soyadi, @Adres, @Ilce, @Il, @PostaKodu, @TelefonNo, @EPosta, @DogumTarihi,
@KrediKartiNo, @KrediKartiSKT)";
SqlCommand CmdString = 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 = DtpDogumTarihi.Value;
SqlDataAdapter1.InsertCommand.Parameters.Add(new
SqlParameter("@KrediKartiNo", System.Data.SqlDbType.VarChar, 16, "KrediKartiNo"));
SqlDataAdapter1.InsertCommand.Parameters[9].Value = TxtKKNo.Text;
SqlDataAdapter1.InsertCommand.Parameters.Add(new
SqlParameter("@KrediKartiSKT", System.Data.SqlDbType.DateTime, 8, "KrediKartiSKT"));
SqlDataAdapter1.InsertCommand.Parameters[10].Value = DtpKKSKT.Value;
long LMusteriNo;
try
{
SqlConnection1.Open();
SqlDataAdapter1.InsertCommand.ExecuteNonQuery();
CmdString.CommandText = "SELECT MAX(MusteriNo) From
Musteri";
LMusteriNo = Convert.ToInt64( CmdString.ExecuteScalar());
String StrMsj;
StrMsj = LMusteriNo.ToString();
MessageBox.Show("Müşteri kayıt numarası: " + StrMsj,
"Müşteri No", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde kaydedildi.", "Kayıt
eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
ObjArama = new FrmArama();
ObjArama.KayitNoAyarla(LMusteriNo.ToString());
CmdString.Dispose();
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdTemizle_Click(System.Object sender, System.EventArgs e)
{
Kontrolleri_Bosalt();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void 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 = "";
}
}
}
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:
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
Ayrıca aşağıdaki değişkenler de Sipariş Verme formunda tanımlanmalıdır:
private static int IntSecilenSayisi;
//Seçili kayıtların sayısını tutar
private String StrKayitNo;
//Müşteri numarasını tutar
private static String[] SecilenFilmNoDizisi = new String[11];
//Seçili kayıtların Film No'larını tutar
Sipariş Verme Formunun Tam Kod Dökümü
Liste: Sipariş Verme Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication6
{
public partial class FrmSiparis : System.Windows.Forms.Form
{
public FrmSiparis()
{
InitializeComponent();
}
private static int IntSecilenSayisi;
//Seçili kayıtların sayısını tutar
private String StrKayitNo;
//Müşteri numarasını tutar
private static String[] SecilenFilmNoDizisi = new String[11];
//Seçili kayıtların Film No'larını tutar
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
SqlCommand SqlSelectCommand1 = new SqlCommand();
public void SecilenFilmeriAyarla(String[] FilmNoDizisi, int
IntToplamSecilenSayisi)
{
int i;
IntSecilenSayisi = IntToplamSecilenSayisi;
for (i = 0; i <= IntToplamSecilenSayisi - 1; i++)
{
SecilenFilmNoDizisi[i] = FilmNoDizisi[i];
}
}
public void KayitNoAyarla(String KytNo)
{
StrKayitNo = KytNo;
}
private String OtomatikSiparisNoAl()
{
String StrSiparisNo="";
String returnValue;
String StrSelectString;
StrSelectString = "SELECT MAX(SiparisNo) FROM Siparisler";
SqlCommand SelectCmd = new SqlCommand(StrSelectString, SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
try
{
SqlDataAdapter1.SelectCommand = SelectCmd;
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "SiparisNo");
}
catch (SqlException MyException)
{
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();
return "";
}
foreach (DataRow DrRowPicker in DsDataSet.Tables["SiparisNo"].Rows)
{
if (DrRowPicker.IsNull(0))
{
StrSiparisNo = "O0001";
}
else
{
StrSiparisNo = Convert.ToString( DrRowPicker[0]);
}
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
returnValue = StrSiparisNo;
return returnValue;
}
private void FrmSiparis_Load(System.Object sender, System.EventArgs e)
{
DataSet DsDataSet;
String StrSorgu;
SqlCommand SelectCmd = new SqlCommand();
LvwSecim.Items.Clear();
LvwSecim.Columns.Clear();
ColumnHeader ColumnHeader1 = new ColumnHeader();
ColumnHeader ColumnHeader2 = new ColumnHeader();
ColumnHeader ColumnHeader3 = new ColumnHeader();
ColumnHeader ColumnHeader4 = new ColumnHeader();
ColumnHeader ColumnHeader5 = new ColumnHeader();
ColumnHeader ColumnHeader6 = 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)
{
this.Close();
}
int i;
String StrGecici="";
for (i = 0; i <= IntSecilenSayisi - 1; i++)
{
StrGecici += "\'";
StrGecici += SecilenFilmNoDizisi[i];
StrGecici += "\'";
if (i < IntSecilenSayisi - 1)
{
StrGecici += ",";
}
}
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();
double DblToplamTutar=0.0;
foreach (DataRow DrRowPicker in DsDataSet.Tables["AramaSonucu2"].Rows)
{
String[] StrSearchRow = new String[] {
Convert.ToString((DrRowPicker[0])), Convert.ToString( (DrRowPicker[1])),
Convert.ToString((DrRowPicker[2])), Convert.ToString((DrRowPicker[3])),
Convert.ToString((DrRowPicker[4])), Convert.ToString( DrRowPicker[5])};
LvwSecim.Items.Add(new ListViewItem(StrSearchRow));
DblToplamTutar += System.Convert.ToDouble(DrRowPicker[5]);
}
TxtToplamTutar.Text = Convert.ToString( DblToplamTutar);
StrSorgu = "SELECT KrediKartiNo, KrediKartiSKT FROM Musteri WHERE
MusteriNo = \'" + StrKayitNo + "\'";
SqlDataAdapter1.SelectCommand.CommandText = StrSorgu;
SqlDataAdapter1.Fill(DsDataSet, "KrediKartiBilgisi");
foreach (DataRow DrRowPicker2 in
DsDataSet.Tables["KrediKartiBilgisi"].Rows)
{
TxtKKNo.Text = Convert.ToString(DrRowPicker2[0]);
TxtKKSKT.Text = Convert.ToString( DrRowPicker2[1]);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
}
private void CmdSiparisVer_Click(System.Object sender, System.EventArgs e)
{
String StrSorgu;
String StrSiparisNo;
String StrGecici;
int IntSiparisNo;
StrSiparisNo = OtomatikSiparisNoAl();
StrSiparisNo = StrSiparisNo.Substring(1, 4);
IntSiparisNo = int.Parse(StrSiparisNo)+ 1;
StrGecici = IntSiparisNo.ToString();
StrSiparisNo = "\'";
StrSiparisNo += "O";
if (StrGecici.Length == 1)
{
StrSiparisNo += "000";
}
else if (StrGecici.Length == 2)
{
StrSiparisNo += "00";
}
else if (StrGecici.Length == 3)
{
StrSiparisNo += "0";
}
StrSiparisNo += StrGecici;
StrSiparisNo += "\'";
int i;
StrGecici = "";
for (i = 0; i <= IntSecilenSayisi - 1; i++)
{
StrGecici += "\'";
StrGecici += SecilenFilmNoDizisi[i];
StrGecici += "\'";
if (i < IntSecilenSayisi - 1)
{
StrGecici += ",";
}
}
String StrSelectString;
StrSelectString = "SELECT MAX(VideoNo), COUNT(FilmNo) From Video WHERE
FilmNo IN (" + StrGecici + ") GROUP BY FilmNo";
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlCommand SelectCmd = new SqlCommand(StrSelectString, SqlConnection1);
try
{
SqlDataAdapter1.SelectCommand = SelectCmd;
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "VideoBilgisi");
}
catch (SqlException MyException)
{
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();
return;
}
String StrVideoListesi = "";
String StrFilmSayisi="";
int NToplamSayi;
int NSayi;
NSayi = 0;
NToplamSayi = DsDataSet.Tables["VideoBilgisi"].Rows.Count;
String[] VideoListeDizisi = new String[11];
foreach (DataRow DrRowPicker in DsDataSet.Tables["VideoBilgisi"].Rows)
{
StrVideoListesi += "\'";
StrVideoListesi += DrRowPicker[0].ToString();
StrVideoListesi += "\'";
VideoListeDizisi[NSayi] = StrVideoListesi;
NSayi++;
StrFilmSayisi = Convert.ToString( DrRowPicker[1]);
}
String StrToplamSiparisDegeri;
StrSorgu = "SELECT SUM(Fiyat) FROM Video WHERE VideoNo IN (" +
StrVideoListesi + ")";
SqlDataAdapter1.SelectCommand.CommandText = StrSorgu;
SqlDataAdapter1.Fill(DsDataSet, "SiparisTutari");
StrToplamSiparisDegeri =
Convert.ToString(DsDataSet.Tables["SiparisTutari"].Rows[0][0]);
String StrToplamMiktar;
StrSorgu = "SELECT COUNT(VideoNo) FROM Video WHERE VideoNo IN (" +
StrVideoListesi + ")";
SqlDataAdapter1.SelectCommand.CommandText = StrSorgu;
SqlDataAdapter1.Fill(DsDataSet, "ToplamMiktar");
StrToplamMiktar = Convert.ToString(
DsDataSet.Tables["ToplamMiktar"].Rows[0][0]);
String StrVideoNo;
int j;
int IntSiparisMiktari;
StrToplamSiparisDegeri = StrToplamSiparisDegeri.Replace(',', '.');
StrSorgu = "INSERT INTO Siparisler (SiparisNo, SiparisTarihi, MusteriNo,
ToplamMiktar, SiparisTutari) VALUES (" + StrSiparisNo + ", @SiparisTarihi, @MusteriNo," +
StrToplamMiktar + "," + StrToplamSiparisDegeri + "); SELECT SiparisNo, SiparisTarihi,
MusteriNo, SiparisTutari FROM Siparisler WHERE SiparisNo = " + StrSiparisNo;
SqlCommand InsertCmd = 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 = DateTime.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 =
System.Convert.ToDouble(TxtToplamTutar.Text);
try
{
SqlDataAdapter1.InsertCommand.ExecuteNonQuery();
for (j = 0; j <= NSayi - 1; j++)
{
StrVideoNo = VideoListeDizisi[j];
IntSiparisMiktari = int.Parse( StrFilmSayisi);
SqlDataAdapter1.InsertCommand.CommandText = "INSERT INTO
SiparisAyrinti (SiparisNo, VideoNo, Miktar) VALUES (" + StrSiparisNo + "," + StrVideoNo +
", 1)";
SqlDataAdapter1.InsertCommand.ExecuteNonQuery();
}
}
catch (SqlException MyException)
{
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();
return;
}
SqlConnection1.Close();
SelectCmd.Dispose();
SqlDataAdapter1.Dispose();
this.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 void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
}
}
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
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
Ana Form
İ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 Değer
Name FrmAnaYonetim
Text 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.
İş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.
Ş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.
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
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 Değer
Name FrmOyuncuKayit
Text 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
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
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 Değer
Name FrmYonetmenKayit
Text 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
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
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 Değer
Name FrmYapimciKayit
Text 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
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 Değer
Name FrmVideoKayit
Text 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.
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
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 Değer
Name FrmFilmKayit
Text 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:
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
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 Değer
Name FrmMusteriKayit
Text 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:
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.
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 Değer
Name FrmGuncelleSil
Text 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
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 Değer
Name LvwAramaSonucu
View Details
FullRowSelect True
Gridlines 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
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.
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 Değer
Name FrmRaporlar
Text 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 Değer
Name MmnuCikis
Text Çı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 Değer
Name LvwRapor
View Details
FullRowSelect True
Gridlines True
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 Değer
Name LblToplamSatisTutari
Text Toplam Satış:
Metin kutusunun özellikleri:
Özellik Değer
Name TxtToplamSatisTutari
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
namespace WindowsApplication9
{
public partial class FrmAnaYonetim : System.Windows.Forms.Form
{
public static FrmOyuncuKayit ObjOyuncu;
public static FrmYonetmenKayit ObjYonetmen;
public static FrmYapimciKayit ObjYapimci;
public static FrmFilmKayit ObjFilm;
public static FrmVideoKayit ObjVideo;
public static FrmMusteriKayit ObjMusteri;
public static FrmGuncelleSil ObjGuncelleSil;
public static FrmRaporlar ObjRapor;
private void MitmOyuncu_Click(System.Object sender, System.EventArgs e)
{
ObjOyuncu = new FrmOyuncuKayit();
ObjOyuncu.Show();
}
private void MitmYonetmen_Click(System.Object sender, System.EventArgs e)
{
ObjYonetmen = new FrmYonetmenKayit();
ObjYonetmen.Show();
}
private void MitmYapimci_Click(System.Object sender, System.EventArgs e)
{
ObjYapimci = new FrmYapimciKayit();
ObjYapimci.Show();
}
private void MitmVideo_Click(System.Object sender, System.EventArgs e)
{
ObjVideo = new FrmVideoKayit();
ObjVideo.Show();
}
private void MitmFilm_Click(System.Object sender, System.EventArgs e)
{
ObjFilm = new FrmFilmKayit();
ObjFilm.Show();
}
private void MitmMusteri_Click(System.Object sender, System.EventArgs e)
{
ObjMusteri = new FrmMusteriKayit();
ObjMusteri.Show();
}
private void MitmGuncelleSil_Click(System.Object sender, System.EventArgs e)
{
ObjGuncelleSil = new FrmGuncelleSil();
ObjGuncelleSil.Show();
}
private void MitmGunlukSatislar_Click(System.Object sender, System.EventArgs
e)
{
ObjRapor = new FrmRaporlar();
FrmRaporlar.IntRaporTipi = 0;
ObjRapor.Show();
}
private void MitmBegenilenFilmler_Click(System.Object sender,
System.EventArgs e)
{
ObjRapor = new FrmRaporlar();
FrmRaporlar.IntRaporTipi = 1;
ObjRapor.Show();
}
private void MitmMusteriAyrinti_Click(System.Object sender, System.EventArgs
e)
{
ObjRapor = new FrmRaporlar();
FrmRaporlar.IntRaporTipi = 2;
ObjRapor.Show();
}
private void MmnuCikis_Click(System.Object sender, System.EventArgs e)
{
Close();
}
}
}
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:
using 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:
using System.Data;
' ADO.NET mimarisini oluşturan ifadeleri içerir
using System;
'String’lerle çalışmak için gereklidir
using System.Data.OleDb;
' OLE DB. NET veri sağlayıcısı tarafından kullanılan komutları içerir
using System.Data.SqlClient;
' 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:
SqlConnection SqlConnection1 = new SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
int Sonuc;
Güncelle/Sil Formunun Tam Kod Dökümü
Liste: Güncelle/Sil Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmGuncelleSil : System.Windows.Forms.Form
{
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
int Sonuc;
private void FrmGuncelleSil_Load(System.Object sender, System.EventArgs
e)
{
CmbAramaYeri.SelectedIndex = 0;
AcilanKutuDegerleriniAyarla();
}
private void CmbAramaYeri_SelectedIndexChanged(System.Object sender,
System.EventArgs e)
{
AcilanKutuDegerleriniAyarla();
}
private void AcilanKutuDegerleriniAyarla()
{
String StrAramaYeri;
CmbAramaKriteri.Items.Clear();
StrAramaYeri = CmbAramaYeri.Text;
if (String.Compare( StrAramaYeri, "Film", true) == 0)
{
CmbAramaKriteri.Items.Add("Film No");
CmbAramaKriteri.Items.Add("Film Adı");
CmbAramaKriteri.Items.Add("Yapım Yılı");
CmbAramaKriteri.Items.Add("Kategori");
}
else if (String.Compare(StrAramaYeri, "Oyuncu", true) == 0)
{
CmbAramaKriteri.Items.Add("Oyuncu No");
CmbAramaKriteri.Items.Add("Adı");
CmbAramaKriteri.Items.Add("Soyadı");
}
else if (String.Compare(StrAramaYeri, "Yönetmen", true) == 0)
{
CmbAramaKriteri.Items.Add("Yönetmen No");
CmbAramaKriteri.Items.Add("Adı");
CmbAramaKriteri.Items.Add("Soyadı");
}
else if (String.Compare(StrAramaYeri, "Yapımcı", true) == 0)
{
CmbAramaKriteri.Items.Add("Yapımcı No");
CmbAramaKriteri.Items.Add("Adı");
}
else if (String.Compare(StrAramaYeri, "Video", true) == 0)
{
CmbAramaKriteri.Items.Add("Video No");
CmbAramaKriteri.Items.Add("Format");
}
else if (String.Compare(StrAramaYeri, "Müşteri", true) == 0)
{
CmbAramaKriteri.Items.Add("Müşteri No");
CmbAramaKriteri.Items.Add("Adı");
CmbAramaKriteri.Items.Add("Soyadı");
CmbAramaKriteri.Items.Add("İl");
}
CmbAramaKriteri.SelectedIndex = 0;
}
private void CmdAra_Click(System.Object sender, System.EventArgs e)
{
DataSet DsDataSet;
String StrAramaYeri;
String StrAramaKriteri;
String StrSorgu;
bool StrArananBos;
StrArananBos = false;
if (TxtArananIfade.Text.Trim() == "")
{
MessageBox.Show("Aranacak bir ifade giriniz.");
StrArananBos = true;
}
StrAramaYeri = CmbAramaYeri.Text;
StrAramaKriteri = CmbAramaKriteri.Text;
if (String.Compare(StrAramaYeri, "Film", true) == 0)
{
Sonuc = 0;
StrSorgu = "SELECT DISTINCT FilmNo, FilmAdi, YonetmenNo,
YapimciNo, Sure, Aciklama, Kategori, Yili FROM Film ";
if (! StrArananBos)
{
if (String.Compare(StrAramaKriteri, "Film No", true)
== 0)
{
StrSorgu += "WHERE FilmNo = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
else if (String.Compare(StrAramaKriteri, "Film Adı",
true) == 0)
{
StrSorgu += "WHERE FilmAdi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
else if (String.Compare(StrAramaKriteri, "Yapım Yılı",
true) == 0)
{
StrSorgu += "WHERE Yili = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
else if (String.Compare(StrAramaKriteri, "Kategori",
true) == 0)
{
StrSorgu += "WHERE Kategori = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
}
}
else if (String.Compare(StrAramaYeri, "Oyuncu", true) == 0)
{
Sonuc = 1;
StrSorgu = "SELECT DISTINCT OyuncuNo, Adi, Soyadi FROM
Oyuncu ";
if (! StrArananBos)
{
if (String.Compare(StrAramaKriteri, "Oyuncu No", true)
== 0)
{
StrSorgu += "WHERE OyuncuNo = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
else if (String.Compare(StrAramaKriteri, "Adı", true)
== 0)
{
StrSorgu += "WHERE Adi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
else if (String.Compare(StrAramaKriteri, "Soyadı",
true) == 0)
{
StrSorgu += "WHERE Soyadi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
}
}
else if (String.Compare(StrAramaYeri, "Yönetmen", true) == 0)
{
Sonuc = 2;
StrSorgu = "SELECT DISTINCT YonetmenNo, Adi, Soyadi FROM
Yonetmen ";
if (! StrArananBos)
{
if (String.Compare(StrAramaKriteri, "Yönetmen No",
true) == 0)
{
StrSorgu += "WHERE YonetmenNo = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
else if (String.Compare(StrAramaKriteri, "Adı", true)
== 0)
{
StrSorgu += "WHERE Adi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
else if (String.Compare(StrAramaKriteri, "Soyadı",
true) == 0)
{
StrSorgu += "WHERE Soyadi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
}
}
else if (String.Compare(StrAramaYeri, "Yapımcı", true) == 0)
{
Sonuc = 3;
StrSorgu = "SELECT DISTINCT YapimciNo, Adi FROM Yapimci ";
if (! StrArananBos)
{
if (String.Compare(StrAramaKriteri, "Yapımcı No",
true) == 0)
{
StrSorgu += "WHERE YapimciNo = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
else if (String.Compare(StrAramaKriteri, "Adı", true)
== 0)
{
StrSorgu += "WHERE Adi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
}
}
else if (String.Compare(StrAramaYeri, "Video", true) == 0)
{
Sonuc = 4;
StrSorgu = "SELECT DISTINCT VideoNo, FilmNo, Format, Fiyat
FROM Video ";
if (! StrArananBos)
{
if (String.Compare(StrAramaKriteri, "Video No", true)
== 0)
{
StrSorgu += "WHERE VideoNo = \'";
}
else if (String.Compare(StrAramaKriteri, "Format",
true) == 0)
{
StrSorgu += "WHERE Format = \'";
}
StrSorgu += TxtArananIfade.Text + "\'";
}
}
else if (String.Compare(StrAramaYeri, "Müşteri", true) == 0)
{
Sonuc = 5;
StrSorgu = "SELECT DISTINCT MusteriNo, Adi, Soyadi, Adres,
Ilce, Il, PostaKodu, TelefonNo, EPosta FROM Musteri ";
if (! StrArananBos)
{
if (String.Compare(StrAramaKriteri, "Müşteri No",
true) == 0)
{
StrSorgu += "WHERE MusteriNo = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
else if (String.Compare(StrAramaKriteri, "Adı", true)
== 0)
{
StrSorgu += "WHERE Adi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
else if (String.Compare(StrAramaKriteri, "Soyadı",
true) == 0)
{
StrSorgu += "WHERE Soyadi LIKE \'";
StrSorgu += TxtArananIfade.Text + "%\'";
}
else if (String.Compare(StrAramaKriteri, "İl", true)
== 0)
{
StrSorgu += "WHERE Il = \'";
StrSorgu += TxtArananIfade.Text + "\'";
}
}
}
else
{
Sonuc = - 1;
StrSorgu = "";
}
SqlCommand SelectCmd1 = 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();
int IntKayitSayisi;
IntKayitSayisi = 0;
int IntKriter;
IntKriter = Sonuc;
ColumnHeader ColumnHeader1 = new ColumnHeader();
ColumnHeader ColumnHeader2 = new ColumnHeader();
ColumnHeader ColumnHeader3 = new ColumnHeader();
ColumnHeader ColumnHeader4 = new ColumnHeader();
ColumnHeader ColumnHeader5 = new ColumnHeader();
ColumnHeader ColumnHeader6 = new ColumnHeader();
ColumnHeader ColumnHeader7 = new ColumnHeader();
ColumnHeader ColumnHeader8 = new ColumnHeader();
ColumnHeader ColumnHeader9 = new ColumnHeader();
String StrMesaj="";
if (IntKriter == 0)
{
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ı";
}
else if (IntKriter == 1)
{
StrMesaj = "Oyuncu bulunamadı.";
LvwAramaSonucu.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[] {ColumnHeader1, ColumnHeader2, ColumnHeader3});
ColumnHeader1.Text = "Oyuncu No";
ColumnHeader2.Text = "Adı";
ColumnHeader3.Text = "Soyadı";
}
else if (IntKriter == 2)
{
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ı";
}
else if (IntKriter == 3)
{
StrMesaj = "Yapımcı bulunamadı.";
LvwAramaSonucu.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[] {ColumnHeader1, ColumnHeader2});
ColumnHeader1.Text = "Yapımcı No";
ColumnHeader2.Text = "Adı";
}
else if (IntKriter == 4)
{
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";
}
else if (IntKriter == 5)
{
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";
}
String StrDeger0 = "";
String StrDeger1 = "";
String StrDeger2 = "";
String StrDeger3 = "";
String StrDeger4 = "";
String StrDeger5 = "";
String StrDeger6 = "";
String StrDeger7 = "";
String StrDeger8 = "";
int IntSayac;
foreach (DataRow DrRowPicker in
DsDataSet.Tables["AramaSonucuAdmin"].Rows)
{
if (IntKriter == 0)
{
for (IntSayac = 0; IntSayac <= 7; IntSayac++)
{
if (DrRowPicker.IsNull(IntSayac))
{
if (IntSayac == 0)
{
StrDeger0 = "";
}
else if (IntSayac == 1)
{
StrDeger1 = "";
}
else if (IntSayac == 2)
{
StrDeger2 = "";
}
else if (IntSayac == 3)
{
StrDeger3 = "";
}
else if (IntSayac == 4)
{
StrDeger4 = "";
}
else if (IntSayac == 5)
{
StrDeger5 = "";
}
else if (IntSayac == 6)
{
StrDeger6 = "";
}
else if (IntSayac == 7)
{
StrDeger7 = "";
}
}
else
{
if (IntSayac == 0)
{
StrDeger0 =
Convert.ToString(DrRowPicker[0]);
}
else if (IntSayac == 1)
{
StrDeger1 =
Convert.ToString(DrRowPicker[1]);
}
else if (IntSayac == 2)
{
StrDeger2 =
Convert.ToString(DrRowPicker[2]);
}
else if (IntSayac == 3)
{
StrDeger3 =
Convert.ToString(DrRowPicker[3]);
}
else if (IntSayac == 4)
{
StrDeger4 =
Convert.ToString(DrRowPicker[4]);
}
else if (IntSayac == 5)
{
StrDeger5 =
Convert.ToString(DrRowPicker[5]);
}
else if (IntSayac == 6)
{
StrDeger6 =
Convert.ToString(DrRowPicker[6]);
}
else if (IntSayac == 7)
{
StrDeger7 = Convert.ToString(
DrRowPicker[7]);
}
}
}
String[] StrArananKayit = new String[] {StrDeger0,
StrDeger1, StrDeger2, StrDeger3, StrDeger4, StrDeger5, StrDeger6, StrDeger7};
LvwAramaSonucu.Items.Add(new
ListViewItem(StrArananKayit));
}
else if (IntKriter == 1)
{
for (IntSayac = 0; IntSayac <= 2; IntSayac++)
{
if (DrRowPicker.IsNull(IntSayac))
{
if (IntSayac == 0)
{
StrDeger0 = "";
}
else if (IntSayac == 1)
{
StrDeger1 = "";
}
else if (IntSayac == 2)
{
StrDeger2 = "";
}
}
else
{
if (IntSayac == 0)
{
StrDeger0 =
Convert.ToString(DrRowPicker[IntSayac]);
}
else if (IntSayac == 1)
{
StrDeger1 =
Convert.ToString(DrRowPicker[IntSayac]);
}
else if (IntSayac == 2)
{
StrDeger2 =
Convert.ToString(DrRowPicker[IntSayac]);
}
}
}
String[] StrArananKayit = new String[] {StrDeger0,
StrDeger1, StrDeger2};
LvwAramaSonucu.Items.Add(new
ListViewItem(StrArananKayit));
}
else if (IntKriter == 2)
{
for (IntSayac = 0; IntSayac <= 2; IntSayac++)
{
if (DrRowPicker.IsNull(IntSayac))
{
if (IntSayac == 0)
{
StrDeger0 = "";
}
else if (IntSayac == 1)
{
StrDeger1 = "";
}
else if (IntSayac == 2)
{
StrDeger2 = "";
}
}
else
{
if (IntSayac == 0)
{
StrDeger0 =
Convert.ToString(DrRowPicker[0]);
}
else if (IntSayac == 1)
{
StrDeger1 =
Convert.ToString(DrRowPicker[1]);
}
else if (IntSayac == 2)
{
StrDeger2 =
Convert.ToString(DrRowPicker[2]);
}
}
}
String[] StrArananKayit = new String[] {StrDeger0,
StrDeger1, StrDeger2};
LvwAramaSonucu.Items.Add(new
ListViewItem(StrArananKayit));
}
else if (IntKriter == 3)
{
for (IntSayac = 0; IntSayac <= 1; IntSayac++)
{
if (DrRowPicker.IsNull(IntSayac))
{
if (IntSayac == 0)
{
StrDeger0 = "";
}
else if (IntSayac == 1)
{
StrDeger1 = "";
}
}
else
{
if (IntSayac == 0)
{
StrDeger0 =
Convert.ToString(DrRowPicker[0]);
}
else if (IntSayac == 1)
{
StrDeger1 =
Convert.ToString(DrRowPicker[1]);
}
}
}
String[] StrArananKayit = new String[] {StrDeger0,
StrDeger1};
LvwAramaSonucu.Items.Add(new
ListViewItem(StrArananKayit));
}
else if (IntKriter == 4)
{
for (IntSayac = 0; IntSayac <= 3; IntSayac++)
{
if (DrRowPicker.IsNull(IntSayac))
{
if (IntSayac == 0)
{
StrDeger0 = "";
}
else if (IntSayac == 1)
{
StrDeger1 = "";
}
else if (IntSayac == 2)
{
StrDeger2 = "";
}
else if (IntSayac == 3)
{
StrDeger3 = "";
}
}
else
{
if (IntSayac == 0)
{
StrDeger0 =
Convert.ToString(DrRowPicker[0]);
}
else if (IntSayac == 1)
{
StrDeger1 =
Convert.ToString(DrRowPicker[1]);
}
else if (IntSayac == 2)
{
StrDeger2 =
Convert.ToString(DrRowPicker[2]);
}
else if (IntSayac == 3)
{
StrDeger3 =
Convert.ToString(DrRowPicker[3]);
}
}
}
String[] StrArananKayit = new String[] {StrDeger0,
StrDeger1, StrDeger2, StrDeger3};
LvwAramaSonucu.Items.Add(new
ListViewItem(StrArananKayit));
}
else if (IntKriter == 5)
{
for (IntSayac = 0; IntSayac <= 8; IntSayac++)
{
if (DrRowPicker.IsNull(IntSayac))
{
if (IntSayac == 0)
{
StrDeger0 = "";
}
else if (IntSayac == 1)
{
StrDeger1 = "";
}
else if (IntSayac == 2)
{
StrDeger2 = "";
}
else if (IntSayac == 3)
{
StrDeger3 = "";
}
else if (IntSayac == 4)
{
StrDeger4 = "";
}
else if (IntSayac == 5)
{
StrDeger5 = "";
}
else if (IntSayac == 6)
{
StrDeger6 = "";
}
else if (IntSayac == 7)
{
StrDeger7 = "";
}
else if (IntSayac == 8)
{
StrDeger8 = "";
}
}
else
{
if (IntSayac == 0)
{
StrDeger0 = Convert.ToString(
DrRowPicker[0]);
}
else if (IntSayac == 1)
{
StrDeger1 = Convert.ToString(
DrRowPicker[1]);
}
else if (IntSayac == 2)
{
StrDeger2 = Convert.ToString(
DrRowPicker[2]);
}
else if (IntSayac == 3)
{
StrDeger3 = Convert.ToString(
DrRowPicker[3]);
}
else if (IntSayac == 4)
{
StrDeger4 = Convert.ToString(
DrRowPicker[4]);
}
else if (IntSayac == 5)
{
StrDeger5 =
Convert.ToString(DrRowPicker[5]);
}
else if (IntSayac == 6)
{
StrDeger6 = Convert.ToString(
DrRowPicker[6]);
}
else if (IntSayac == 7)
{
StrDeger7 = Convert.ToString(
DrRowPicker[7]);
}
else if (IntSayac == 8)
{
StrDeger8 =
Convert.ToString(DrRowPicker[8]);
}
}
}
String[] StrArananKayit = new String[] {StrDeger0,
StrDeger1, StrDeger2, StrDeger3, StrDeger4, StrDeger5, StrDeger6, StrDeger7, StrDeger8};
LvwAramaSonucu.Items.Add(new
ListViewItem(StrArananKayit));
}
IntKayitSayisi++;
}
if (IntKayitSayisi == 0)
{
MessageBox.Show(StrMesaj);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
}
private void CmdGuncelle_Click(System.Object sender, System.EventArgs e)
{
ListView.SelectedListViewItemCollection LstViewCollection;
LstViewCollection = new
ListView.SelectedListViewItemCollection(LvwAramaSonucu);
int IntSecilenSayisi;
IntSecilenSayisi = LstViewCollection.Count;
if (IntSecilenSayisi < 1)
{
MessageBox.Show("Hiç kayıt seçmediniz.");
return;
}
else if (IntSecilenSayisi > 1)
{
return;
}
int IntKriter;
IntKriter = Sonuc;
FrmOyuncuKayit ObjOyuncu;
FrmYonetmenKayit ObjYonetmen;
FrmYapimciKayit ObjYapimci;
FrmFilmKayit ObjFilm;
FrmVideoKayit ObjVideo;
FrmMusteriKayit ObjMusteri;
String StrGuncellenecekNo = LstViewCollection[0].Text;
if (IntKriter == 0)
{
ObjFilm = new FrmFilmKayit();
ObjFilm.GuncellenecekNoyuAyarla(StrGuncellenecekNo);
ObjFilm.Show();
}
else if (IntKriter == 1)
{
ObjOyuncu = new FrmOyuncuKayit();
ObjOyuncu.GuncellenecekNoyuAyarla(StrGuncellenecekNo);
ObjOyuncu.Show();
}
else if (IntKriter == 2)
{
ObjYonetmen = new FrmYonetmenKayit();
ObjYonetmen.GuncellenecekNoyuAyarla(StrGuncellenecekNo);
ObjYonetmen.Show();
}
else if (IntKriter == 3)
{
ObjYapimci = new FrmYapimciKayit();
ObjYapimci.GuncellenecekNoyuAyarla(StrGuncellenecekNo);
ObjYapimci.Show();
}
else if (IntKriter == 4)
{
ObjVideo = new FrmVideoKayit();
ObjVideo.GuncellenecekNoyuAyarla(StrGuncellenecekNo);
ObjVideo.Show();
}
else if (IntKriter == 5)
{
ObjMusteri = new FrmMusteriKayit();
ObjMusteri.GuncellenecekNoyuAyarla(StrGuncellenecekNo);
ObjMusteri.Show();
}
}
private void CmdSil_Click(System.Object sender, System.EventArgs e)
{
ListView.SelectedListViewItemCollection LstViewCollection;
LstViewCollection = new
ListView.SelectedListViewItemCollection(LvwAramaSonucu);
int IntSecilenSayisi;
IntSecilenSayisi = LstViewCollection.Count;
if (IntSecilenSayisi < 1)
{
MessageBox.Show("Hiç kayıt seçmediniz.");
return;
}
DialogResult IntSnc;
IntSnc = MessageBox.Show("Bu kaydı silmek istediğinize emin
misiniz?", "", MessageBoxButtons.YesNo);
if (IntSnc == DialogResult.No)
{
return;
}
int IntSayac;
String StrSilinecekNo = "";
for (IntSayac = 0; IntSayac <= IntSecilenSayisi - 1; IntSayac++)
{
StrSilinecekNo += "\'";
StrSilinecekNo += LstViewCollection[0].Text;
StrSilinecekNo += "\'";
if (IntSayac < IntSecilenSayisi - 1)
{
StrSilinecekNo += ",";
}
LstViewCollection[0].Remove();
}
String StrSorgu = null;
int IntKriter;
IntKriter = Sonuc;
if (IntKriter == 0)
{
StrSorgu = "DELETE FROM Film WHERE FilmNo IN (";
StrSorgu += StrSilinecekNo + ")";
}
else if (IntKriter == 1)
{
StrSorgu = "DELETE FROM Oyuncu WHERE OyuncuNo IN (";
StrSorgu += StrSilinecekNo + ")";
}
else if (IntKriter == 2)
{
StrSorgu = "DELETE FROM Yonetmen WHERE YonetmenNo IN (";
StrSorgu += StrSilinecekNo + ")";
}
else if (IntKriter == 3)
{
StrSorgu = "DELETE FROM Yapimci WHERE YapimciNo IN (";
StrSorgu += StrSilinecekNo + ")";
}
else if (IntKriter == 4)
{
StrSorgu = "DELETE FROM Video WHERE VideoNo IN (";
StrSorgu += StrSilinecekNo + ")";
}
else if (IntKriter == 5)
{
StrSorgu = "DELETE FROM Musteri WHERE MusteriNo IN (";
StrSorgu += StrSilinecekNo + ")";
}
SqlCommand DeleteCmd1 = new SqlCommand(StrSorgu, SqlConnection1);
SqlDataAdapter1.DeleteCommand = DeleteCmd1;
try
{
SqlConnection1.Open();
SqlDataAdapter1.DeleteCommand.ExecuteNonQuery();
}
catch (SqlException MyException)
{
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();
return;
}
}
private void CmdTemizle_Click(System.Object sender, System.EventArgs e)
{
LvwAramaSonucu.Items.Clear();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
}
}
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:
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
Oyuncu Kayıt formunda tanımlanacak değişkenler aşağıdadır:
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
SqlConnection SqlConnection1 = new SqlConnection(Module1.StrConnectionString);
private String StrGuncellenecekNo;
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 void GuncellenecekNoyuAyarla(String StrGnclNo)
{
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ü
Liste: Oyuncu Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmOyuncuKayit : System.Windows.Forms.Form
{
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
private String StrGuncellenecekNo;
public void GuncellenecekNoyuAyarla(String StrGnclNo)
{
StrGuncellenecekNo = StrGnclNo;
}
private void FrmOyuncuKayit_Load(System.Object sender, System.EventArgs
e)
{
if (StrGuncellenecekNo != null)//"")
{
txtOyuncuNo.Enabled = false;
String SelectString;
SelectString = "SELECT OyuncuNo, Adi, Soyadi, DogumTarihi,
Ozgecmis FROM Oyuncu WHERE OyuncuNo = \'" + StrGuncellenecekNo + "\'";
SqlCommand SelectCmd1 = new SqlCommand(SelectString,
SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = SelectString;
try
{
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "Sonuc");
}
catch (SqlException MyException)
{
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();
return;
}
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 void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (txtOyuncuNo.Text.Trim() == "")
{
MessageBox.Show("Oyuncu No bilgisini giriniz.");
txtOyuncuNo.Focus();
return;
}
if (txtAdi.Text.Trim() == "")
{
MessageBox.Show("Oyuncı Adı bilgisini giriniz.");
txtAdi.Focus();
return;
}
if (txtSoyadi.Text.Trim() == "")
{
MessageBox.Show("Oyuncu Soyadı bilgisini giriniz.");
txtSoyadi.Focus();
return;
}
if (StrGuncellenecekNo != null)//"")
{
String UpdString;
UpdString = "UPDATE Oyuncu SET OyuncuNo = @OyuncuNo, Adi =
@Adi, Soyadi = @Soyadi, DogumTarihi = @DogumTarihi, Ozgecmis = @Ozgecmis WHERE OyuncuNo =
\'" + StrGuncellenecekNo + "\'";
SqlCommand UpdateCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt güncellendi.");
}
else
{
String InsString;
InsString = "INSERT INTO Oyuncu(OyuncuNo, Adi, Soyadi,
DogumTarihi, Ozgecmis) VALUES (@OyuncuNo, @Adi, @Soyadi, @DogumTarihi, @Ozgecmis); SELECT
OyuncuNo, Adi, Soyadi, DogumTarihi, Ozgecmis FROM Oyuncu WHERE (OyuncuNo = @OyuncuNo)";
SqlCommand InsertCmd1 = 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;
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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde eklendi.",
"Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
}
}
Yönetmen Kayıt Formu
Liste: Yönetmen Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmYonetmenKayit : System.Windows.Forms.Form
{
private String StrGuncellenecekNo;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
public void GuncellenecekNoyuAyarla(String StrGnclNo)
{
StrGuncellenecekNo = StrGnclNo;
}
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (TxtYonetmenNo.Text.Trim() == "")
{
MessageBox.Show("Yönetmen No bilgisini giriniz.");
TxtYonetmenNo.Focus();
return;
}
if (TxtAdi.Text.Trim() == "")
{
MessageBox.Show("Yönetmen Adı bilgisini giriniz.");
TxtAdi.Focus();
return;
}
if (TxtSoyadi.Text.Trim() == "")
{
MessageBox.Show("Yönetmen Soyadı bilgisini giriniz.");
TxtSoyadi.Focus();
return;
}
if (StrGuncellenecekNo != null)//"")
{
String UpdString;
UpdString = "UPDATE Yonetmen SET YonetmenNo = @YonetmenNo,
Adi = @Adi, Soyadi = @Soyadi, DogumTarihi = @DogumTarihi, Ozgecmis = @Ozgecmis WHERE
YonetmenNo = \'" + StrGuncellenecekNo + "\'";
SqlCommand UpdateCmd1 = 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;
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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt güncellendi.");
}
else
{
String InsString;
InsString = "INSERT INTO Yonetmen(YonetmenNo, Adi, Soyadi,
DogumTarihi, Ozgecmis) VALUES (@YonetmenNo, @Adi, @Soyadi, @DogumTarihi, @Ozgecmis);" +
"SELECT YonetmenNo, Adi, Soyadi, DogumTarihi, Ozgecmis FROM Yonetmen WHERE (YonetmenNo =
@YonetmenNo)";
SqlCommand InsertCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde eklendi.",
"Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void FrmYonetmenKayit_Load(System.Object sender,
System.EventArgs e)
{
if (StrGuncellenecekNo != null)//"")
{
TxtYonetmenNo.Enabled = false;
String SelectString;
SelectString = "SELECT YonetmenNo, Adi, Soyadi, DogumTarihi,
Ozgecmis FROM Yonetmen WHERE YonetmenNo = \'" + StrGuncellenecekNo + "\'";
SqlCommand SelectCmd1 = new SqlCommand(SelectString,
SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = SelectString;
try
{
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "Sonuc");
}
catch (SqlException MyException)
{
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();
return;
}
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();
}
}
}
}
Yapımcı Kayıt Form
Liste: Yapımcı Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmYapimciKayit : System.Windows.Forms.Form
{
public FrmYapimciKayit()
{
InitializeComponent();
}
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
private String StrGuncellenecekNo;
public void GuncellenecekNoyuAyarla(String StrGnclNo)
{
StrGuncellenecekNo = StrGnclNo;
}
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (TxtYapimciNo.Text.Trim() == "")
{
MessageBox.Show("Yapımcı No bilgisini giriniz.");
TxtYapimciNo.Focus();
return;
}
if (TxtAdi.Text.Trim() == "")
{
MessageBox.Show("Yönetici Adı bilgisini giriniz.");
TxtAdi.Focus();
return;
}
if (StrGuncellenecekNo != null)//"")
{
String UpdString;
UpdString = "UPDATE Yapimci SET YapimciNo = @YapimciNo, Adi = @Adi
WHERE YapimciNo = \'" + StrGuncellenecekNo + "\'";
SqlCommand UpdateCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt güncellendi.");
}
else
{
String InsString;
InsString = "INSERT INTO Yapimci(YapimciNo, Adi) VALUES
(@YapimciNo, @Adi); SELECT YapimciNo, Adi FROM Yapimci WHERE (YapimciNo = @YapimciNo)";
SqlCommand InsertCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde eklendi.", "Kayıt
eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void FrmYapimciKayit_Load(System.Object sender, System.EventArgs e)
{
if (StrGuncellenecekNo != null)//"")
{
TxtYapimciNo.Enabled = false;
String SelectString;
SelectString = "SELECT YapimciNo, Adi FROM Yapimci WHERE YapimciNo
= \'" + StrGuncellenecekNo + "\'";
SqlCommand SelectCmd1 = new SqlCommand(SelectString,
SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = SelectString;
try
{
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "Sonuc");
}
catch (SqlException MyException)
{
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();
return;
}
TxtYapimciNo.DataBindings.Add(new Binding("Text", DsDataSet,
"Sonuc.YapimciNo"));
TxtAdi.DataBindings.Add(new Binding("Text", DsDataSet,
"Sonuc.Adi"));
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
}
}
}
}
Video Kayıt Formu
Liste: Video Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmVideoKayit : System.Windows.Forms.Form
{
private String StrGuncellenecekNo;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
public void GuncellenecekNoyuAyarla(String StrGnclNo)
{
StrGuncellenecekNo = StrGnclNo;
}
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (TxtVideoNo.Text.Trim() == "")
{
MessageBox.Show("Video No bilgisini giriniz.");
TxtVideoNo.Focus();
return;
}
if (TxtFilmNo.Text.Trim() == "")
{
MessageBox.Show("Film No bilgisini giriniz.");
TxtFilmNo.Focus();
return;
}
if (TxtFiyat.Text.Trim() == "")
{
MessageBox.Show("Fiyat bilgisini giriniz.");
TxtFiyat.Focus();
return;
}
if (StrGuncellenecekNo != null)//"")
{
String UpdString;
UpdString = "UPDATE Video SET FilmNo = @FilmNo, Format =
@Format, Fiyat = @Fiyat WHERE VideoNo = \'" + StrGuncellenecekNo + "\'";
SqlCommand UpdateCmd1 = 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;
SqlDataAdapter1.UpdateCommand.Parameters.Add(new
System.Data.SqlClient.SqlParameter("@Fiyat", System.Data.SqlDbType.Money, 8, "Fiyat"));
SqlDataAdapter1.UpdateCommand.Parameters[2].Value =
TxtFiyat.Text;
try
{
SqlConnection1.Open();
SqlDataAdapter1.UpdateCommand.ExecuteNonQuery();
}
catch (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt güncellendi.");
}
else
{
String InsString;
InsString = "INSERT INTO Video(VideoNo, FilmNo, Format,
Fiyat) VALUES (@VideoNo, @FilmNo, @Format, @Fiyat); SELECT VideoNo, FilmNo, Format, Fiyat
FROM Video WHERE (VideoNo = @VideoNo)";
SqlCommand InsertCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde eklendi.",
"Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void FrmVideoKayit_Load(System.Object sender, System.EventArgs
e)
{
if (StrGuncellenecekNo != null)//"")
{
TxtVideoNo.Enabled = false;
String SelectString;
SelectString = "SELECT VideoNo, FilmNo, Format, Fiyat FROM
Video WHERE VideoNo = \'" + StrGuncellenecekNo + "\'";
SqlCommand SelectCmd1 = new SqlCommand(SelectString,
SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = SelectString;
try
{
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "Sonuc");
}
catch (SqlException MyException)
{
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();
return;
}
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();
}
}
}
}
Film Kayıt Formu
Liste: Film Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmFilmKayit : System.Windows.Forms.Form
{
private String StrGuncellenecekNo;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
public void GuncellenecekNoyuAyarla(String StrGnclNo)
{
StrGuncellenecekNo = StrGnclNo;
}
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (TxtFilmNo.Text.Trim() == "")
{
MessageBox.Show("Film No biligisini giriniz.");
TxtFilmNo.Focus();
return;
}
if (TxtFilmAdi.Text.Trim() == "")
{
MessageBox.Show("Film Adı bilgisini giriniz.");
TxtFilmAdi.Focus();
return;
}
if (TxtYonetmenNo.Text.Trim() == "")
{
MessageBox.Show("Yönetmen No bilgisini giriniz.");
TxtYonetmenNo.Focus();
return;
}
if (TxtYapimciNo.Text.Trim() == "")
{
MessageBox.Show("Yapımcı No bilgisini giriniz.");
TxtYapimciNo.Focus();
return;
}
if (TxtSure.Text.Trim() == "")
{
MessageBox.Show("Süre bilgisini giriniz.");
TxtSure.Focus();
return;
}
if (TxtYapimYili.Text.Trim() == "")
{
MessageBox.Show("Yapım Yılı bilgisini giriniz.");
TxtYapimYili.Focus();
return;
}
if (StrGuncellenecekNo != null)//"")
{
String UpdString;
UpdString = "UPDATE Film SET FilmNo = @FilmNo, FilmAdi =
@FilmAdi, YonetmenNo = @YonetmenNo, YapimciNo = @YapimciNo, Sure = @Sure, Aciklama =
@Aciklama, Kategori = @Kategori, Yili = @Yili WHERE FilmNo = \'" + StrGuncellenecekNo +
"\'";
SqlCommand UpdateCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt güncellendi.");
}
else
{
String InsString;
InsString = "INSERT INTO Film(FilmNo, FilmAdi, YonetmenNo,
YapimciNo, Sure, Aciklama, Kategori, Yili) VALUES (@FilmNo, @FilmAdi, @YonetmenNo,
@YapimciNo, @Sure, @Aciklama, @Kategori, @Yili); SELECT FilmNo, FilmAdi, YonetmenNo,
YapimciNo, Sure, Aciklama, Kategori, Yili FROM Film WHERE (FilmNo = @FilmNo)";
SqlCommand InsertCmd1 = 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 == "")
{
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 (SqlException MyException)
{
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 (Exception MyException)
{
MessageBox.Show(MyException.Message);
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde eklendi.",
"Kayıt eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void FrmFilmKayit_Load(System.Object sender, System.EventArgs e)
{
if (StrGuncellenecekNo != null)//"")
{
TxtFilmNo.Enabled = false;
String SelectString;
SelectString = "SELECT FilmNo, FilmAdi, YonetmenNo,
YapimciNo, Sure, Aciklama, Kategori, Yili FROM Film WHERE FilmNo = \'" +
StrGuncellenecekNo + "\'";
SqlCommand SelectCmd1 = new SqlCommand(SelectString,
SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = SelectString;
try
{
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "Sonuc");
}
catch (SqlException MyException)
{
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();
return;
}
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();
}
}
}
}
Müşteri Kayıt Formu
Liste: Müşteri Kayıt Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmMusteriKayit : System.Windows.Forms.Form
{
public FrmMusteriKayit()
{
InitializeComponent();
}
private String StrGuncellenecekNo;
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
public void GuncellenecekNoyuAyarla(String StrGnclNo)
{
StrGuncellenecekNo = StrGnclNo;
}
private void CmdGonder_Click(System.Object sender, System.EventArgs e)
{
if (TxtAdi.Text.Trim() == "")
{
MessageBox.Show("Müşteri Adı bilgisini giriniz.");
TxtAdi.Focus();
return;
}
if (TxtSoyadi.Text.Trim() == "")
{
MessageBox.Show("Müşteri Soyadı bilgisini giriniz.");
TxtSoyadi.Focus();
return;
}
if (TxtAdres.Text.Trim() == "")
{
MessageBox.Show("Adres bilgisini giriniz.");
TxtAdres.Focus();
return;
}
if (TxtKKNo.Text.Trim() == "")
{
MessageBox.Show("Kredi kartı numarası bilgisini giriniz.", "Hata",
MessageBoxButtons.OK);
TxtKKNo.Focus();
return;
}
else if (TxtKKNo.Text.Trim().Length != 16)
{
MessageBox.Show("Geçersiz kredi kartı bilgisi. Kredi kartı
numarasını tekrar giriniz.", "Hata", MessageBoxButtons.OK);
TxtKKNo.Focus();
return;
}
if (Convert.ToDateTime (DtpKKSKT.Text)< DateTime.Now)
{
MessageBox.Show("Geçersiz tarih.");
DtpKKSKT.Focus();
return;
}
if (StrGuncellenecekNo != null)//"")
{
String UpdString;
UpdString = "UPDATE Musteri SET Adi = @Adi, Soyadi = @Soyadi,
Adres = @Adres, Ilce = @Ilce, Il = @Il, PostaKodu = @PostaKodu, TelefonNo = @TelefonNo,
EPosta = @EPosta, DogumTarihi = @DogumTarihi, KrediKartiNo = @KrediKartiNo, KrediKartiSKT
= @KrediKartiSKT WHERE MusteriNo = " + StrGuncellenecekNo;
SqlCommand UpdateCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt güncellendi");
}
else
{
String InsString;
InsString = "INSERT INTO Musteri(Adi, Soyadi, Adres, Ilce, Il,
PostaKodu, TelefonNo, EPosta, DogumTarihi, KrediKartiNo, KrediKartiSKT) VALUES (@Adi,
@Soyadi, @Adres, @Ilce, @Il, @PostaKodu, @TelefonNo, @EPosta, @DogumTarihi,
@KrediKartiNo, @KrediKartiSKT)";
SqlCommand InsertCmd1 = 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 (SqlException MyException)
{
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();
return;
}
MessageBox.Show("Kayıt başarılı bir şekilde eklendi", "Kayıt
eklendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
this.Close();
}
private void CmdIptal_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
private void FrmMusteriKayit_Load(System.Object sender, System.EventArgs e)
{
if (StrGuncellenecekNo != null)//"")
{
String SelectString;
SelectString = "SELECT Adi, Soyadi, Adres, Ilce, Il, PostaKodu,
TelefonNo, EPosta, DogumTarihi, KrediKartiNo, KrediKartiSKT FROM Musteri WHERE MusteriNo
= \'" + StrGuncellenecekNo + "\'";
SqlCommand SelectCmd1 = new SqlCommand(SelectString,
SqlConnection1);
DataSet DsDataSet;
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = SelectString;
try
{
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "Sonuc");
}
catch (SqlException MyException)
{
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();
return;
}
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"));
DtpKKSKT.DataBindings.Add(new Binding("Text", DsDataSet,
"Sonuc.KrediKartiSKT"));
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
}
}
}
}
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
Şekil: Müşteri Ayrıntıları Raporu formu
Aşağıdaki değişkenler Raporlar formunda tanımlanmalıdır:
SqlConnection SqlConnection1 = new SqlConnection(Module1.StrConnectionString);
'Connection nesnesini tanımlar
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
'Data adapter nesnesini tanımlar
DataSet DsDataSet;
'Kayıt kümesini tanımlar
public static int IntRaporTipi;
'Formlar arasında kullanılan değişken tanımı
Raporlar Formunun Tam Kod Dökümü
Liste: Raporlar Formunun Kodu
using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
namespace WindowsApplication9
{
public partial class FrmRaporlar : System.Windows.Forms.Form
{
SqlConnection SqlConnection1 = new
SqlConnection(Module1.StrConnectionString);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
DataSet DsDataSet;
public static int IntRaporTipi;
private void FrmReport_Load(System.Object sender, System.EventArgs e)
{
double DblToplam=0.0;
DataRow RowPicker1;
String StrSorgu;
LvwRapor.Items.Clear();
DsDataSet = new DataSet();
try
{
ColumnHeader ColumnHeader1 = new ColumnHeader();
ColumnHeader ColumnHeader2 = new ColumnHeader();
ColumnHeader ColumnHeader3 = new ColumnHeader();
ColumnHeader ColumnHeader4 = new ColumnHeader();
ColumnHeader ColumnHeader5 = new ColumnHeader();
ColumnHeader ColumnHeader6 = new ColumnHeader();
ColumnHeader ColumnHeader7 = new ColumnHeader();
ColumnHeader ColumnHeader8 = new ColumnHeader();
ColumnHeader ColumnHeader9 = new ColumnHeader();
ColumnHeader ColumnHeader10 = new ColumnHeader();
if (IntRaporTipi == 2)
{
Text = "Müşteri Ayrıntıları Raporu";
TxtToplamSatisTutari.Enabled = false;
LblToplamSatisTutari.Visible = false;
LvwRapor.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[] {ColumnHeader1, ColumnHeader2, ColumnHeader3,
ColumnHeader4, ColumnHeader5, ColumnHeader6, ColumnHeader7, ColumnHeader8, ColumnHeader9,
ColumnHeader10});
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";
ColumnHeader10.Text = "Doğum Tarihi";
StrSorgu = "SELECT MusteriNo, Adi, Soyadi, Adres,
Ilce, Il, PostaKodu, TelefonNo, EPosta, DogumTarihi FROM Musteri a WHERE ( (SELECT
COUNT(*) FROM Siparisler WHERE a.MusteriNo = Siparisler.MusteriNo) >= 5)";
SqlCommand SelectCmd0 = new SqlCommand(StrSorgu,
SqlConnection1);
DsDataSet = new DataSet();
SqlDataAdapter1.SelectCommand = SelectCmd0;
SqlDataAdapter1.SelectCommand.CommandText = StrSorgu;
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet, "MusteriRaporu");
foreach (DataRow tempLoopVar_RowPicker1 in
DsDataSet.Tables["MusteriRaporu"].Rows)
{
RowPicker1 = tempLoopVar_RowPicker1;
String[] StrMusteriAyrintilari = new String[] {
Convert.ToString(RowPicker1["MusteriNo"]), Convert.ToString(RowPicker1["Adi"]),
Convert.ToString(RowPicker1["Soyadi"]), Convert.ToString(RowPicker1["Adres"]),
Convert.ToString(RowPicker1["Ilce"]), Convert.ToString(RowPicker1["Il"]),
Convert.ToString(RowPicker1["PostaKodu"]), Convert.ToString(RowPicker1["TelefonNo"]),
Convert.ToString(RowPicker1["EPosta"]), Convert.ToString(RowPicker1["DogumTarihi"]) };
LvwRapor.Items.Add(new
ListViewItem(StrMusteriAyrintilari));
}
}
else if (IntRaporTipi == 1)
{
Text = "Beğenilen Filmler Raporu";
TxtToplamSatisTutari.Enabled = false;
LblToplamSatisTutari.Visible = false;
LvwRapor.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[] {ColumnHeader1, ColumnHeader2, ColumnHeader3,
ColumnHeader4, ColumnHeader5, ColumnHeader6});
ColumnHeader1.Text = "Film No";
ColumnHeader2.Text = "Film Adı";
ColumnHeader3.Text = "Yonetmen";
ColumnHeader4.Text = "Yapimci";
ColumnHeader5.Text = "Kategori";
ColumnHeader6.Text = "Yapım Yılı";
StrSorgu = "SELECT a.FilmNo, a.FilmAdi, b.Adi, c. Adi,
a.Kategori, a.Yili FROM Film a, Yonetmen b, Yapimci c WHERE FilmNo IN (SELECT FilmNo FROM
Video WHERE VideoNo IN (SELECT b.VideoNo FROM Siparisler a, SiparisAyrinti b WHERE
a.SiparisNo=b.SiparisNo AND a.SiparisTarihi > DateADD(day, -7, GetDate()) GROUP BY
b.VideoNo )) AND a.YonetmenNo = b.YonetmenNo AND a.YapimciNo = c.YapimciNo";
SqlCommand SelectCmd1 = new SqlCommand(StrSorgu,
SqlConnection1);
SqlDataAdapter1.SelectCommand = SelectCmd1;
SqlDataAdapter1.SelectCommand.CommandText = StrSorgu;
SqlConnection1.Open();
SqlDataAdapter1.Fill(DsDataSet,
"BegenilenFilmlerRaporu");
foreach (DataRow tempLoopVar_RowPicker1 in
DsDataSet.Tables["BegenilenFilmlerRaporu"].Rows)
{
RowPicker1 = tempLoopVar_RowPicker1;
String StrKategori;
if (RowPicker1.IsNull(4))
{
StrKategori = "";
}
else
{
StrKategori =
Convert.ToString(RowPicker1[4]);
}
int IntYapimYili;
if (RowPicker1.IsNull(5))
{
IntYapimYili = 0;
}
else
{
IntYapimYili = Convert.ToInt32 (RowPicker1[5]);
}
String[] StrSatisAyrintilari = new String[] {
Convert.ToString(RowPicker1[0]), Convert.ToString(RowPicker1[1]),
Convert.ToString(RowPicker1[2]), Convert.ToString(RowPicker1[3]), StrKategori,
Convert.ToString(IntYapimYili) };
LvwRapor.Items.Add(new
ListViewItem(StrSatisAyrintilari));
}
}
else
{
Text = "Günlük Satış Raporu";
TxtToplamSatisTutari.Visible = true;
LblToplamSatisTutari.Visible = true;
LvwRapor.Columns.AddRange(new
System.Windows.Forms.ColumnHeader[] {ColumnHeader1, ColumnHeader2, ColumnHeader3,
ColumnHeader4, ColumnHeader5, ColumnHeader6});
ColumnHeader1.Text = "Sipariş No";
ColumnHeader2.Text = "Sipariş Tarihi";
ColumnHeader3.Text = "Film No";
ColumnHeader4.Text = "Film Adı";
ColumnHeader5.Text = "Sipariş Miktarı";
ColumnHeader6.Text = "Sipariş Tutarı";
StrSorgu = "SELECT DISTINCT a.SiparisNo,
a.SiparisTarihi, d.FilmNo, d.FilmAdi, a.ToplamMiktar, a.SiparisTutari FROM Siparisler a,
SiparisAyrinti b, Video c, Film d WHERE a.SiparisNo = b.SiparisNo AND b.VideoNo =
c.VideoNo AND c.FilmNo = d.FilmNo AND a.SiparisTarihi > DateADD(day, -1, GetDate()) ORDER
BY a.SiparisNo";
SqlCommand SelectCmd3 = new SqlCommand(StrSorgu,
SqlConnection1);
SqlDataAdapter1.SelectCommand = SelectCmd3;
SqlDataAdapter1.SelectCommand.CommandText = StrSorgu;
SqlDataAdapter1.Fill(DsDataSet, "SatisRaporu");
foreach (DataRow tempLoopVar_RowPicker1 in
DsDataSet.Tables["SatisRaporu"].Rows)
{
RowPicker1 = tempLoopVar_RowPicker1;
String[] StrSatisAyrintilari = new String[] {
Convert.ToString(RowPicker1[0]), Convert.ToString(RowPicker1[1]),
Convert.ToString(RowPicker1[2]), Convert.ToString(RowPicker1[3]),
Convert.ToString(RowPicker1[4]), Convert.ToString(RowPicker1[5]) };
LvwRapor.Items.Add(new
ListViewItem(StrSatisAyrintilari));
DblToplam = DblToplam + Convert.ToInt64
(RowPicker1[5]); //Toplam satış tutarı hesaplanıyor
}
TxtToplamSatisTutari.Text = Convert.ToString(
DblToplam);
}
}
catch (Exception MyException)
{
MessageBox.Show("Hata oluştu :" + Constants.vbLf +
MyException.ToString());
}
SqlConnection1.Close();
SqlDataAdapter1.Dispose();
}
private void MmnuCikis_Click(System.Object sender, System.EventArgs e)
{
this.Close();
}
}
}