开发者社区> 流楚丶格念> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

燕山大学数据库三级项目——界面系统设计

简介: 燕山大学数据库三级项目——界面系统设计
+关注继续查看

项目链接


https://download.csdn.net/download/weixin_45525272/13085403


MFC界面编写


数据库设计代码


-- 账号密码管理系统
create table login(
strname varchar(20),
strpassword varchar(20) not null,
strquestion varchar(40),
stranswer varchar(40),
primary key(strname)
);
insert into login values
('喜子','123456','你就读的大学?','燕山大学'),
('大壮','111111','你多大了?','我还是个孩子');

insert into CUSTOMER values
('1','yim','F','16655'),
('2','tim','M','55555');

select *from login


where strname='喜子'


create table loginsad(
strname int,
strpassword varchar(20) not null,
strquestion varchar(40),
stranswer varchar(40),
primary key(strname)
);
insert into login values
('123','123456','你就读的大学?','燕山大学');


登陆界面


image


image


找回密码


image


image


image


功能主界面


image


image


image


界面不一一展示,大家可以直接下载项目链接


设置了三个常用查询语句的实现


实现代码如下


1.给利派送订单的外卖员的体温:


SELECT Temperature 
FROM DELIVERY_MAN,CUSTOMER,Cus_Evaluate_Deli 
WHERE DELIVERY_MAN.D#=Cus_Evaluate_Deli.D# AND Cus_Evaluate_Deli.C#=CUSTOMER.C# AND CUSTOMER.Cname = '利';


2.被女顾客评价的派送员的平均工资


SELECT avg(Salary) as '平均工资' 
FROM DELIVERY_MAN,CUSTOMER,Cus_Evaluate_Deli
WHERE Cus_Evaluate_Deli.D#=DELIVERY_MAN.D# and Cus_Evaluate_Deli.C#=CUSTOMER.C# 
and CUSTOMER.Csex='F'


3.所有评分大于4.8分的商家的最大浏览次数


select MAX(VisitNumber) as '最大浏览次数'
from STORE,CUSTOMER,Place_Order
where Place_Order.B#=STORE.B# and Place_Order.C#=CUSTOMER.C# 
and Place_Order.VisitNumber>4.8


项目要点


1、与数据库交互——ADO接口(两种方法)


一、ADO类


通过创建ADO对象来对数据库进行操作。


头文件


#pragma once

#import "C:\Program Files\Common Files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

class CADOConn
{
public:
    CADOConn();
    ~CADOConn();

    _ConnectionPtr m_pConnection;       // 对象智能指针连接操作数据库 
    _RecordsetPtr m_pRecordPtr;         // 对象指针(记录集)

    // 初始化连接数据库,执行查询,执行SQL语句,断开连接
    // 初始化连接数据库,执行查询,执行SQL语句,断开连接
    void OnInitDBConnect();
    _RecordsetPtr &GetRecordSet(_bstr_t bstrSQL);
    BOOL ExecuteSQL(_bstr_t bstrSQL);
    void ExitConnect();
};



源文件


#include "stdafx.h"
#include "ADOConn.h"


CADOConn::CADOConn()
{
}


CADOConn::~CADOConn()
{
}



void CADOConn::OnInitDBConnect()
{
    // 创建connection对象
    m_pConnection.CreateInstance("ADODB.Connection");
    // 设置字符串
    _bstr_t strConnect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ROOSYS;Data Source=.";// Catalog数据库名称,Data数据库 .表示本地数据库

    // 连接数据库   双引号里写对应连接数据库的账号和密码
    m_pConnection->Open(strConnect, "", "", adModeUnknown);
}

_RecordsetPtr & CADOConn::GetRecordSet(_bstr_t bstrSQL)
{
    try
    {
        if (m_pConnection == NULL)      // 连接对象不存在
            OnInitDBConnect();
        m_pRecordPtr.CreateInstance(__uuidof(Recordset));       // 创建记录集对象
        // 执行查询,等待记录集
        m_pRecordPtr->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
    }
    catch (_com_error e)    // 捕捉异常
    {
        AfxMessageBox(e.Description());
    }

    return m_pRecordPtr;        // 返回记录集
}


BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
    try
    {
        if (m_pConnection == NULL)
        {
            OnInitDBConnect();
        }
        m_pConnection->Execute(bstrSQL, NULL, adCmdText);

        return true;
    }
    catch (_com_error e)
    {
        AfxMessageBox(e.Description());
        return false;
    }
}

void CADOConn::ExitConnect()
{
    if (m_pConnection != NULL)
    {
        m_pRecordPtr->Close();  // 关闭记录
        m_pConnection->Close(); // 关闭连接
    }

    // 清除缓存
    ::CoUninitialize();
}



二、通过pRes直接操作ADO


连接操作


初始化连接中 strConnect = “Provider=SQLOLEDB;Server=127.0.0.1,1433;Database=ROOSYS;uid=Sa;pwd=123456”;//初始化连接


其中参数:


server:你所要连数据库的主机IP地址


database:数据库名


uid:权限(sa是管理员权限)


pwd:数据库密码


    // TODO:  在此添加额外的初始化
    CoInitialize(NULL); //initialize COM environment
    pRst.CreateInstance("ADODB.Recordset");
    pMyConnect.CreateInstance("ADODB.Connection");
    _bstr_t strConnect;//smart_prt-connectional command;
    //strConnect = "Provider=SQLOLEDB;Server=localhost;Database=testDB;uid=Sa;pwd=123456";

    strConnect = "Provider=SQLOLEDB;Server=127.0.0.1,1433;Database=ROOSYS;uid=Sa;pwd=123456";//初始化连接

    try
    {
        pMyConnect->Open(strConnect, "", "", adModeUnknown);//服务器连接
        MessageBox(_T("连接成功"));
    }
    catch (_com_error &)
    {
        MessageBox(_T("连接失败"));
    }

    return TRUE;  // return TRUE unless you set the focus to a control
    // 异常:  OCX 属性页应返回 FALSE


数据处理操作


    CString strbno,strcol,strupdatainfo;
    GetDlgItemText(IDC_EDIT_UPDATABNO, strbno);
    GetDlgItemText(IDC_EDIT_UPDATACOL, strcol);
    GetDlgItemText(IDC_EDIT_UPDATAINFO, strupdatainfo);
    CString csinsert;
    csinsert.Format(_T("update CUSTOMER set %s='%s' where C#='%s'"),
        strcol, strupdatainfo, strbno);

    //_bstr_t insert = "insert into TableTest values('name','sex',Age)";
    try {
        pMyConnect->Execute((_bstr_t)csinsert, NULL, adCmdText);
        MessageBox(_T("修改成功"), _T("提示"));
    }
    catch (_com_error &e)
    {
        MessageBox(e.ErrorMessage());
    }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
燕山大学课程实践项目报告:ISBN号识别系统的设计与开发(下)
燕山大学课程实践项目报告:ISBN号识别系统的设计与开发
15 0
云数据库技术岗位认证训练营 AnalyticDB PostgreSQL专场来啦!报名学习考取认证吧!
阿里云开发者社区联合数据库团队、GTS团队推出了云数据库AnalyticDB PostgreSQL技术岗位认证训练营,为开发者们提供培训赋能,助开发者们考取认证。
228 0
Android官方开发文档Training系列课程中文版:数据存储之数据库存储
原文地址:http://android.xsoftlab.net/training/basics/data-storage/databases.html 对于保存重复的结构化的数据最理想的方式就是存到数据库,比如联系人信息。
830 0
Android官方开发文档Training系列课程中文版:数据存储之文件存储
原文地址:http://android.xsoftlab.net/training/basics/data-storage/files.html Android使用的文件系统和其它平台的磁碟式文件系统很相似。
704 0
+关注
流楚丶格念
csdn平台优质创作者,51cto TOP博主,360图书馆科技博主,燕山大学目前大三在读,日拱一卒,功不唐捐,加油!!!
1010
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载