数据库编程(初次尝试)登录界面

1编程模型

1)首先创建数据库并在系统中设置好

2)使用CDatabase打开数据源的连接,如果利用AppWizard生成一个ODBC数据库应用程序,则会自动完成操作

3)使用ClassWizard加入由CRecordset类派生出的用户记录集,完成对数据库表的绑定

4)创建记录集对象,如果利用AppWard生成一个ODBC数据库应用程序,则会在文档类中创建

5)使用记录集对象对数据库进行遍历,增加,删除和修改等操作

6)使用CDataBase类的ExcuteSQL()函数直接进行SQL命令

7)使用CDatabase类的BeginTrans(),Committrans()和Rollback()函数进行事务管理

8)使用CDatabase类的Close()函数关闭数据源的连接

以下是一个简单登录界面的代码:(当然已经省略了其中向导的操作过程)

提醒一点:头文件1)打开文件dlg.cpp,在文件的开头添加调用派生类的文件名(dlg调用了Recordset派生类)

                            2)在StdAfx.h文件开头添加数据库的调用

                                   #include<afxdb.h>

 

 UpdateData(true);//将表单中控件的输入内容更新到所关联的变量上,也就是让两个编辑框控件变量m_username和m_userpwd获得输入值
 CUserRecordset m_user;//生成一个CUserRecordset类的实例m_user,用以操作数据库中定义的表
 try
 {
  if(m_user.IsOpen())//判断记录集是否打开,如果打开则关闭(你想:别人在用,你怎么可能进入),以保证后边的操作能正确执行
  m_user.Close();
  m_user.m_strFilter.Format("username='%s'and userpwd='%s'",m_username,m_userpwd);//定义查询语言
  m_user.Open(CRecordset::snapshot,NULL,CRecordset::none);
  if(m_user.IsEOF())//判断是否已经查询到表尾,如果是表明没有这个用户或者用户名或者密码错误,提示出错信息
  {
    m_user.Close();
    AfxMessageBox("password is error!");
    return ;
  }
     else
  {
    m_user.Close();
    AfxMessageBox("You have log in!");
  }
 }
    catch(CDBException* e)//用CDBException类的实例来捕获数据库中可能出现的错误
 {
  e->ReportError();//将错误报告到界面上
  return ;
 }
 CDialog::OnOK();

}

你可能感兴趣的:(数据库编程,数据库表,数据库应用)