数据库设计-网上订餐系统(4)

2019-08-17 12:28

6.1定义并设置备份 6.2启用维护计划任务 6.3运行要求:

操作系统:Windows xp及以上版本, 数据库:SQL server2005,

外围平台:Microsoft Visual studio2010 内存:2G

七、感想及总结:

此次的数据库课程设计中,我通过与小组内的其他两位同学的共同探讨与努力,设计并实现了人生中的第一个数据库,由于刚刚上完数据库的课程,此次的动手实践确实加深了我对数据库这门课程的理解,同时也发现了许多平常忽略的问题。平时看书上的E-R图十分简单,但自己设计的时候却发现需要考虑许多细节,稍有疏忽就会产生许多棘手的问题。E-R图之后还要考虑表,视图,触发器,索引,完整性约束等问题,对于第一次设计数据库的我们来说刚开始的时候确实感觉到无从下手,很难把问题考虑全面,最终我们三人共同讨论并设计出了数据库的雏形,这时的数据库看起来还十分简陋。后来我们的开发方式进行了改变,由我和一个同学分别扮演客户和商家的角色,另一位同学扮演数据库角色。开发过程中,数据库角色的同学主要考虑优化数据库并满足客户角色和商家角色的要求,而客户角色和商家角色在完成自己的应用平台的过程中向数据库提出要求,主要是对权限的申请、对触发器视图等方面的要求。这样我们的数据库就大概成形了,然后我们三人又共同以全面地角度审视了一遍我们的数据库,提出各自的意见,最后提交的数据库则是我们三人共同意志的体现。

八、源码:

// Client.cpp : 定?§义??控?制?台??§应?|用??程¨?序¨?的ì?入¨?口¨2点ì?。?ê //

#include\ #include #include #include

16

#include #include usingnamespace std;

#import\ no_namespace rename(\, \) void work1() {

m_pConnection->Open((_bstr_t)\ }

catch(_com_error e) { }

cout<<\已??成¨|功|登ì?录?\<

m_pRecordset.CreateInstance(\);

m_pRecordset->Open(\营?a业?|ì中cout<<\目?前??营?a业?|ì中D的ì?商|¨?cout.setf(ios::left);

cout<adoEOF) {

vpid=m_pRecordset->GetCollect(\); vpname=m_pRecordset->GetCollect(\); vpadd=m_pRecordset->GetCollect(\); vptel=m_pRecordset->GetCollect(\);

17

_ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; char i_user[15],i_pwd[15];

cout<<\请?输o?入¨?用??户??名?及??密¨1码?登ì?cin>>i_user>>i_pwd; CoInitialize(NULL); try{

m_pConnection.CreateInstance(\); cout<<\<

m_pConnection->ConnectionTimeout=30;

录?*********************************\<

g;uid=\+i_user+\+i_pwd+\,\,\,adModeUnknown);

cout<<\<

cout<<\<

D'\,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 家¨?**************************\<

度¨¨\<

vplev=m_pRecordset->GetCollect(\);

cout<

m_pRecordset->MoveNext();

plev.intVal<

m_pRecordset->Close();

cout<<\请?输o?入¨?所¨′选?商|¨?家¨?的ì?编ਤ号?\<>pid;

m_pRecordset->Open((_variant_t)((_bstr_t)\* from dish where d_pid='\+pid+\cout<<\请?选?择?菜?品

cout<

while(!m_pRecordset->adoEOF) {

vdid[cnt]=m_pRecordset->GetCollect(\); vdpid[cnt]=m_pRecordset->GetCollect(\); vdname=m_pRecordset->GetCollect(\); vdprice=m_pRecordset->GetCollect(\); vdremain=m_pRecordset->GetCollect(\);

d_remain>0\),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); ?¤************************\<

cout<

char caddr[200],num[15]; int did;

cout<<\请?输o?入¨?送¨a菜?地ì?址?¤\<>caddr;

cout<<\请?输o?入¨?选?择?的ì?菜?品?¤的ì?编ਤ号?以??及??数oy量¢?\<>did) {

if(did==0)

break; cin>>num;

m_pConnection->Execute((_bstr_t)\into ord (o_cid,o_did,o_pid,o_num,o_cadd) cnt++;

m_pRecordset->MoveNext();

etw(20)<

values

('\+i_user+\+(char*)(_bstr_t)vdid[did]+\+(char*)(_bstr_t)vdpid[did]+\+num+\

18

','\+caddr+\,NULL, 1); // }

void work2() {

_ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; CoInitialize(NULL);

m_pConnection.CreateInstance(\); m_pConnection->ConnectionTimeout=30;

m_pConnection->Open(\m_pRecordset.CreateInstance(\);

cout<<\请?输o?入¨?注á?é册¨¢id以??及??密¨1char w2_id[15],w2_pwd[15]; do{

cin>>w2_id>>w2_pwd;

m_pRecordset->Open((_bstr_t)\}

cout<<\已??接¨?受o¨1您¨2的ì?订?单죤,ê?感D谢?您¨2的ì?m_pRecordset->Close(); m_pConnection->Close(); CoUninitialize();

m_pConnection->Execute((_bstr_t)\

d_remain=d_remain-\

支??持?**************************\<

pwd=sa;\,\,\,adModeUnknown);

码?**************************************\<

c_id='\+w2_id+\,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

if(!m_pRecordset->adoEOF) { } else {

cout<<\该?id可¨|以??使o1用??\<

cout<<\请?输o?入¨?您¨2的ì?姓?名?和¨a联¢a系|ì电ì?话??\<>name>>tel;

m_pConnection->Execute((_bstr_t)\into client(c_id,c_name,c_key,c_tel) m_pConnection->Execute((_bstr_t)\+w2_id+\cout<<\该?id已??被à?使o1用??,ê?请?重?新?输o?入¨?\<

values ('\+w2_id+\+name+\+w2_pwd+\+tel+\,NULL,1); password='\+w2_pwd+\,NULL,1);

19

}

m_pConnection->Execute((_bstr_t)\+name+\m_pConnection->Execute((_bstr_t)\+name,NULL,1); _CommandPtr m_pCommand;

m_pCommand.CreateInstance(\); _ParameterPtr param; char role[5]=\;

\+w2_id,NULL,1);

param=m_pCommand->CreateParameter(\,adVarChar,adParamInput,sizeof(role),role);

param=m_pCommand->CreateParameter(\,adVarChar,adParamInput,sizeof(name),name);

}

m_pRecordset->Close();

m_pCommand->Parameters->Append(param);

m_pCommand->CommandText=_bstr_t(\); m_pCommand->ActiveConnection=m_pConnection; m_pCommand->CommandType=adCmdStoredProc; m_pCommand->Execute(NULL,NULL,adCmdStoredProc); m_pCommand.Detach(); m_pRecordset->Close();

cout<<\已??成¨|功|注á?ébreak;

m_pCommand->Parameters->Append(param);

册¨¢!!!*********************************************\<

}while(1);

m_pConnection->Close(); CoUninitialize();

int _tmain(int argc, _TCHAR* argv[]) {

cout<<\欢?迎?-使o1用??合?工?è大?¨?网a?上|?订?餐¨a系|ì统a3cout<<\请?选?择?操¨′作cout<<\订?餐¨a\<

cin>>choice; switch(choice){ case 1: work1();break;

20

客¨a户??端?**************************\<

// cout<<\修T改?信?息?é\

}

}

case 2: work2();break; default: break; }

cout<<\是o?否¤?继¨?续?进?行D操¨′作á???ê?(ê?§Y/N)ê?\<>cc; if(cc=='N')

break;

cout<<\请?输o?入¨?选?择?\<

// case 3: work3();break;

cout<<\感D谢?使o1用??合?工?è大?¨?订?餐¨a系|ì统a3!ê?!return 0;

ê?!ê?*****************************\<

21


数据库设计-网上订餐系统(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018-2019[部编版]二年级语文上册教学计划及教学进度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: