ROLLBACKENDGOUPDATE scSET cno12WHERE sno05002第9章例1 USE basetestGOCREATE TABLE table2number int daytime datetime DEAFAULTgetdateUSE basetestGOINSERT table2number VALUES1GOSELECT FROM table2例2 USE basetestGOCREATE TABLE table3number intdaytime datetimeGOALTER TABLE table3ADD CONSTRAINT con1 DEFAULT getdate FOR daytimeGOINSERT table3number VALUES1GOSELECT FROM table3例3 USE basetestGOCREATE DEFAULT default_test1 AS 5例4 USE basetestGOEXEC sp_bindefault default_test1table3.numberGO例5 USE basetestGOEXEC sp_unbindefault table3.numberGO例6 USE basetestGOIF EXISTSSELECT name FROM sysobjects WHERE namedefault_test1AND typeDDROP DEFAULT default_test1例7 USE basetestGOCREATE RULE rule_test AS number BETWEEN 0 AND 10例8 USE basetestGOEXEC sp_bindrule rule_testtable3.numberUSE basetestGOINSERT table3number VALUES12GO例9 USE basetestGOEXEC sp_unbindrule table3.number例10 USE basetestGODROP RULE rule_testGO第 10 章例 1 EXEC sp_addlogin example1例 2 EXEC sp_addlogin example2example2basetest例 3 EXEC sp_password NULLexample1example1例 4 EXEC sp_password example2123456example2第 12 章登陆模块void CMyDlg::OnLogin UpdateDatatrue ifm_database.IsOpen ifm_database.Open_T仓库管理系统 MessageBox不能打开到数据库系统的连接 return CLoginSet m_userset //数据集,用来保存从数据库中读取到的数据 CString str ifm_userset.IsOpen//如果这个数据集已经打开,则关闭它 m_userset.Close //str 保存 SQL 语句,用于读到数据库中的数据 str.Formatselect from 用 户 密 码 表 where 用 户 IDs and 用 户 密 码sm_useridm_password m_userset.m_pDatabasem_database //使用 Open 函数执行 SQL 语句 m_userset.OpenAFX_DB_USE_DEFAULT_TYPEstr //当读到的数据为空时,则输出提示语句 ifm_userset.IsEOF MessageBox数据库里没有相应资料,请检查用户名密码是否正确 m_userid m_password else username.Formatsm_userset.m___ID userpowerm_userset.m_column2 MainDlg-ShowWindowSW_SHOW // MainDlg-ShowWindowSW_SHOW // ShowWindowSW_HIDE CDialog::OnOK 主窗口模块void CMainDlg::OnMaterialManage showdlg-ShowWindowSW_SHOW CString sqlselect from 物资表 order by 物资号 showdlg-OnRefreshDatasql ShowWindowSW_HIDE 退出系统代码如下:void CMainDlg::OnButton11 ifMessageBox确定退出系统 1MB_YESNOMB_DEFBUTTON2MB_ICONQUESTIONIDNO exit0 插入信息代码void CAddMaterial::OnOK UpdateDatatrue CString sql char temp15 ifisupdate UpdateDatatrue sql.Formatupdate 物资表 set 物资名称s数量d备注s where 物资号sm_namem_numm_markitemnum try m_database.ExecuteSQLsql//插入操作 sqlselect from 物资表 order by 物资号 showdlg-OnRefreshDatasql catch CDBException e MessageBox更新失败 CDialog::OnOK else int maxnum sql.Formatselect from 物资表 order by 物资号 CMessSet m_record m_record.m_pDatabasem_database m_record.OpenAFX_DB_USE_DEFAULT_TYPEsql ifm_record.IsEOF maxnum0 else m_record.MoveLast maxnumm_record.m_column1 maxnum //生成插入资料的 SQL 语句 sql.Formatinsert into 物资表 values itoamaxnumtemp10 sqlsqltempm_name itoam_numtemp10 sqlsqltempm_mark try m_database.ExecuteSQLsql//执行插入操作 sqlselect from 物资表 order by 物资号 showdlg-OnRefreshDatasql catch CDBException e MessageBox插入失败 return 还原功能void CDataRestore::OnRestore CString filepath CFileDialog filedlgFALSENULLNULLOFN_HIDEREADONLY OFN_OVERWRITEPROMPT 数据库文件.bak.bak所有文件..NULL iffiledlg.DoModalIDCANCEL return //获取文件路径 filepathfiledlg.GetPathName CString sql //书写恢复数据库的 SQL 语句 sql.Formatbackup database 仓库管理系统 to disksfilepath try m_database.ExecuteSQLsql catchCDBException e1 MessageBoxerror catchCMemoryException e2 MessageBoxerror