一:根据ER图的设计在数据库中生成对应的表项并且添加数据 userinfo用户信息表:
importlist进货单表:
二:创建ODBC数据源
打开控制面板—>管理工具——>ODBC数据源——>添加用户DSN选择SQL server——> 设置数据源名称为testsql——>服务器选择127.0.0.1——>通过sql身份认证连接服务器——>选择需要连接的数据库,这里选择master,测试成功;
三:界面设计
利用MFC创建一个单文档的应用程序; 添加两个对话框并设计界面如下:
进行对话框类的绑定,并且关联相关控件的变量;添加消息处理函数,编写代码:
登陆按钮代码实现:
void CTestDlg::OnOK() { // TODO: Add extra validation here //CDatabase dbs;
//dbs.OpenEx(_T(\"DSN=testsql;\"),CDatabase::noOdbcDialog);
//CString sql = _T(\"SELECT password FROM userinfo WHERE (userid =\"qiuzhen\");
CDatabase db;
db.Open(_T(\"testsql\"),FALSE,FALSE,_T(\"ODBC;\"),FALSE); CRecordset rs1(&db);// 构造记录集 UpdateData(TRUE); CString sqlstr; CString getpw;
sqlstr.Format(\"select * from userinfo where userid=%ld\rs1.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr); rs1.GetFieldValue(_T(\"password\"),getpw); int n=atoi(getpw); if(n==m_password) {
CCheckDlg dlg; dlg.DoModal();
} else
MessageBox(\"登陆失败!\"); db.Close();
//CDialog::OnOK(); }
添加进货单的代码实现:
void CCheckDlg::OnButton2() { // TODO: Add your control notification handler code here CDatabase db;
db.Open(_T(\"testsql\"),FALSE,FALSE,_T(\"ODBC;\"),FALSE);
// CString sql = _T(\"USE Test01 INSERT UserInfo(UserID,UserName) VALUES(\" 123, 'Bob')); CString sql; sql.Format(\"INSERT INTO importlist(number,date,money,type) values('0400','2012-06-03 12:30:00.000','5000','daily')\"); db.ExecuteSQL(sql); MessageBox(\"添加成功!\"); db.Close(); }
四:部分功能实现 调试运行MFC程序: 输入用户名密码:
获取登陆SQL权限:
进入普通管理员功能界面
店家添加进货单按钮: 再次验证身份
查看添加后的进货单情况:
基本代码实现了,其余功能还有待完善!