DaoPage.cpp
Upload User: bjhxlaser
Upload Date: 2016-02-08
Package Size: 66k
Code Size: 3k
Category:

ADO-ODBC

Development Platform:

Visual C++

  1. // DaoPage.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "Tes.h"
  5. #include "DaoPage.h"
  6. #include   <afxdao.h>
  7. // CDaoPage 对话框
  8. IMPLEMENT_DYNAMIC(CDaoPage, CPropertyPage)
  9. CDaoPage::CDaoPage()
  10. : CPropertyPage(CDaoPage::IDD)
  11. , m_result(_T(""))
  12. , m_no(0)
  13. {
  14. }
  15. CDaoPage::~CDaoPage()
  16. {
  17. }
  18. void CDaoPage::DoDataExchange(CDataExchange* pDX)
  19. {
  20. CPropertyPage::DoDataExchange(pDX);
  21. DDX_Text(pDX, IDC_EDIT1, m_result);
  22. DDX_Text(pDX, IDC_EDIT2, m_no);
  23. }
  24. BOOL CDaoPage::OnInitDialog()
  25. {
  26.     BOOL bResult = CPropertyPage::OnInitDialog();
  27.     
  28.  CDaoDatabase m_DB;
  29.  CDaoTableDef m_OpenTable(&m_DB);
  30.  CDaoRecordset rs;
  31.  CString szTemp;
  32.  COleVariant var1;
  33.  COleVariant var2;
  34. int iCount;
  35.  try {
  36.         m_DB.Open("testdb.mdb");
  37.  }
  38.  catch( CDaoException* e ) {
  39.         e->Delete();       // Delete the incomplete recordset object
  40. }
  41.  try{
  42.         m_OpenTable.Open("student"); 
  43.     }
  44.  catch (CDaoException *e){
  45.   e->Delete(); 
  46. }
  47.  try{
  48.      rs.Open(&m_OpenTable,dbOpenTable,0); 
  49.  }
  50.  catch (CDaoException *e) {
  51.           e->Delete(); 
  52.      }
  53.     CString init;
  54.     init = "学号       ";
  55.     init += "姓名" ;
  56.     init += "rn";
  57.     m_result += init;
  58.     int num;
  59.     CString name;
  60.     CString tnum;
  61. if(!(rs.IsEOF()&&rs.IsBOF())) 
  62.  {
  63. // DAO读出
  64.       rs.MoveFirst();
  65.       while(!rs.IsEOF())
  66.       {
  67.            rs.GetFieldValue("学号",var1); 
  68.            rs.GetFieldValue("姓名",var2); 
  69.            num = (int)var1.pbVal;
  70.            name = (CString)var2.pbVal;
  71.            tnum.Format("%d",num);
  72.            m_result += tnum;
  73.            m_result += "          ";
  74.            m_result += name;
  75.            m_result +="rn";
  76.            rs.MoveNext();
  77.       }
  78.  }
  79.     rs.Close();
  80.     m_DB.Close();
  81. UpdateData(false);
  82.     
  83.     return bResult;
  84. }
  85. BEGIN_MESSAGE_MAP(CDaoPage, CPropertyPage)
  86. ON_BN_CLICKED(IDC_BUTTON1, &CDaoPage::OnBnClickedButton1)
  87. END_MESSAGE_MAP()
  88. // CDaoPage 消息处理程序
  89. void CDaoPage::OnBnClickedButton1()
  90. {
  91. // TODO: 在此添加控件通知处理程序代码
  92. UpdateData(true);
  93. m_result.Empty();
  94.  CDaoDatabase m_DB;
  95.  CDaoTableDef m_OpenTable(&m_DB);
  96.  CDaoRecordset rs;
  97.  CString szTemp;
  98.  COleVariant var1;
  99.  COleVariant var2;
  100. int iCount;
  101.  try {
  102.         m_DB.Open("testdb.mdb");
  103.  }
  104.  catch( CDaoException* e ) {
  105.         e->Delete();       // Delete the incomplete recordset object
  106. }
  107.  try{
  108.         m_OpenTable.Open("student"); 
  109.     }
  110.  catch (CDaoException *e){
  111.   e->Delete(); 
  112. }
  113.  try{
  114.      rs.Open(&m_OpenTable,dbOpenTable,0); 
  115.  }
  116.  catch (CDaoException *e) {
  117.           e->Delete(); 
  118.      }
  119.     CString init;
  120.     init = "学号       ";
  121.     init += "姓名" ;
  122.     init += "rn";
  123.     m_result += init;
  124.     int num;
  125.     CString name;
  126.     CString tnum;
  127. if(!(rs.IsEOF()&&rs.IsBOF())) 
  128.  {
  129. // DAO读出
  130.       rs.MoveFirst();
  131.       while(!rs.IsEOF())
  132.       {
  133.            rs.GetFieldValue("学号",var1); 
  134.            rs.GetFieldValue("姓名",var2); 
  135.            
  136.            num = (int)var1.pbVal;
  137.            name = (CString)var2.pbVal;
  138.            if(num == m_no)
  139.            {
  140.            tnum.Format("%d",num);
  141.            m_result += tnum;
  142.            m_result += "          ";
  143.            m_result += name;
  144.            m_result +="rn";
  145.            break;
  146.            }
  147.            rs.MoveNext();
  148.       }
  149.  }
  150. UpdateData(false);
  151. }