VİSUAL C++ İLE VERİTABANI ÖRNEK

19 Tem

Adres defteri projesi için MFC AppWizard ile bir veri tabanlı bir proje oluşturun. Projede bulunan sınıfların kodları aşağıda bulunmaktadır.

 

Bağlantının sağlandığı fonksiyon.

 

CString CAdresDefteriSet::GetDefaultConnect()

{

                return _T(“ODBC;DSN=AdresDefteri”);

}

 

            Veri tabanından çekilecek olan veri için SQL deyiminin girildiği fonksiyon.

 

CString CAdresDefteriSet::GetDefaultSQL()

{

                return _T(“[Adres]”);

}

 

            Kayıtları açabilmek için yaratılmış olan CRecordSet sınıfı:

 

class CAdresDefteriSet : public CRecordset

{

public:

                CAdresDefteriSet(CDatabase* pDatabase = NULL);

                DECLARE_DYNAMIC(CAdresDefteriSet)

// Field/Param Data

                //{{AFX_FIELD(CAdresDefteriSet, CRecordset)

                long        m_ID;

                CString  m_isim;

                CString  m_Soyad;

                CString  m_Adres;

                CString  m_il;

                CString  m_Mail;

                CString  m_Tel;

                //}}AFX_FIELD

 

// Overrides

                               // ClassWizard generated virtual function overrides

                //{{AFX_VIRTUAL(CAdresDefteriSet)

                               public:

                virtual CString GetDefaultConnect();              // Default connection string

                               virtual CString GetDefaultSQL();     // default SQL for Recordset

                virtual void DoFieldExchange(CFieldExchange* pFX);              // RFX support

                               //}}AFX_VIRTUAL

                // Implementation

#ifdef _DEBUG

                virtual void AssertValid() const;

                virtual void Dump(CDumpContext& dc) const;

#endif

};

 

Kayıt ekleme butonu için fonksiyon.

 

void CAdresDefteriView::OnBtnAdd()

{

                // TODO: Add your control notification handler code here

                m_pSet->AddNew();

                CEdit* pCtrl = (CEdit*)GetDlgItem(IDC_ADRES_ID);

                int result = pCtrl->SetReadOnly(FALSE);

                UpdateData(FALSE);}

 

            Arama butonu için fonksiyon.

 

void CAdresDefteriView::OnBtnAra() {

                               // TODO: Add your control notification handler code here

                CString Deger, str ;

                               m_ara.GetWindowText(Deger);

        if (m_radioAdres.GetCheck())

                                               str = “Adres = ‘” + Deger + “‘”;

                if (m_radioisim.GetCheck())

                                               str = “isim = ‘” + Deger + “‘”;

                if (m_radioil.GetCheck())

                                               str = “il = ‘” + Deger + “‘”;

                if (m_radioMail.GetCheck())

                                               str = “Mail = ‘” + Deger + “‘”;

                if (m_radioSoyad.GetCheck())

                                               str = “Soyad = ‘” + Deger + “‘”;

                               m_pSet->Close();

                m_pSet->m_strFilter = str;

                               m_pSet->Open();

                        if (m_pSet->GetRecordCount()>0)

                               m_pSet->MoveFirst();

                               UpdateData(FALSE);}

 

            Kayıt silme butonu için fonksiyon.

 

void CAdresDefteriView::OnBtnDelete()

{

                // TODO: Add your control notification handler code here

                m_pSet->Delete();

                m_pSet->MoveNext();

                if (m_pSet->IsEOF())

                m_pSet->MoveLast();

                if (m_pSet->IsBOF())

                m_pSet->SetFieldNull(NULL);

                UpdateData(FALSE);}

 

            Birinci kayıta götüren fonksiyon.

 

void CAdresDefteriView::OnBtnFirst()

{

                // TODO: Add your control notification handler code here

m_pSet->MoveFirst();

                UpdateData(FALSE);

}

 

            Kayıt ekleyen fonksiyon.

 

void CAdresDefteriView::OnBtnKaydet()

{

                // TODO: Add your control notification handler code here

                               UpdateData(FALSE);

}

 

            Son kayıta götüren fonksiyon.

 

void CAdresDefteriView::OnBtnLast()

{

                // TODO: Add your control notification handler code here

                m_pSet->MoveLast();

                UpdateData(FALSE);

}

 

            Bir sonraki kayıta götüren fonksiyon.

 

void CAdresDefteriView::OnBtnNext()

{

                // TODO: Add your control notification handler code here

                if (m_pSet->IsBOF()==TRUE){

                               m_pSet->MoveNext();

                               }

                if (m_pSet->IsEOF()==FALSE){

                               m_pSet->MoveNext();

                               }

                UpdateData(FALSE);

}

 

            Bir önceki kayıta götüren fonksiyon.

 

void CAdresDefteriView::OnBtnPrevious()

{

                // TODO: Add your control notification handler code here

                if (m_pSet->IsEOF()==TRUE){

                                               m_pSet->MovePrev();

                }

                if (m_pSet->IsBOF()==FALSE){

                                               m_pSet->MovePrev();

                }

                UpdateData(FALSE);

}

 

            Kayıtı güncelleme fonksiyonu.

 

            void CAdresDefteriView::OnBtnUpdate()

{

                               // TODO: Add your control notification handler code here

                m_pSet->Update();

                UpdateData(FALSE);

}

 

            Kayıtları adrese göre sıralamak için seçim yaptıran ve işleten fonksiyon.

 

void CAdresDefteriView::OnRadioAdres()

{

                // TODO: Add your control notification handler code here

                m_pSet->Close();

                m_pSet->m_strSort = “Adres”;

                m_pSet->Open();

                UpdateData(FALSE);

}

 

Kayıtları ile göre sıralamak için seçim yaptıran ve işleten fonksiyon.

 

void CAdresDefteriView::OnRadioIl()

{

                // TODO: Add your control notification handler code here

                m_pSet->Close();

                m_pSet->m_strSort = “il”;

                m_pSet->Open();

                UpdateData(FALSE);

}

 

Kayıtları maile göre sıralamak için seçim yaptıran ve işleten fonksiyon.

 

void CAdresDefteriView::OnRadioMail()

{

                // TODO: Add your control notification handler code here

                m_pSet->Close();

                m_pSet->m_strSort = “Mail”;

                m_pSet->Open();

                UpdateData(FALSE);

}

 

Kayıtları isime göre sıralamak için seçim yaptıran ve işleten fonksiyon.

 

void CAdresDefteriView::OnRadioIsim()

{

                // TODO: Add your control notification handler code here

                m_pSet->Close();

                m_pSet->m_strSort = “isim”;

                m_pSet->Open();

                UpdateData(FALSE);

}

 

Kayıtları soyada göre sıralamak için seçim yaptıran ve işleten fonksiyon.

 

void CAdresDefteriView::OnRadioSoyad()

{

                // TODO: Add your control notification handler code here

                m_pSet->Close();

                m_pSet->m_strSort = “Soyad”;

                m_pSet->Open();

                UpdateData(FALSE);}

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s