网上书店管理信息系统-数据库课程设计_第1页
网上书店管理信息系统-数据库课程设计_第2页
网上书店管理信息系统-数据库课程设计_第3页
网上书店管理信息系统-数据库课程设计_第4页
网上书店管理信息系统-数据库课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3、数据项属性名存储代码类型长度备注书籍编号bnonchar10主码书籍类别bkindnchar20书籍名称bnamenchar40书籍价格bpricenchar10书籍简介bintrovarchar80书籍折扣bdisint库存数量bstockint属性名存储代码类型长度备注顾客编号cnoint主码顾客密码cpasschar10是顾客姓名cnamechar10否顾客性别csexchar10否顾客年龄cagechar10否顾客住址caddnchar20是联系电话cphonechar10是属性名存储代码类型长度备注管理员登录名mnochar10主码管理员密码mpasschar10属性名存储代码类

2、型长度备注订单号onoint主码书籍编号bnonchar10顾客编号cnoint顾客姓名cnamechar20顾客住址caddnchar10联系电话cphonechar10付款方式opaynchar10发货方式oconveynchar10 用户表主要是记录用户的基本信息,包括用户名、密码等信息,如表3-1所示。表2用户(User)字段名类型长度备注useridint8主键自动生成UsernameVarchar25用户名PasswordVarchar25密码roleint2权限EmailVarchar80电子邮件AddressVarchar80地址ZipVarchar20邮编PhoneVarch

3、ar80电话cartidVarchar50信用卡号carttypeVarchar20信用卡类型cartdateDate过期时间 (2)书籍表(book) 书籍表主要是记录了书籍的相关信息,如书籍名、书籍描述等,如表3-2所示。表3书籍表(book)字读名类型长度备注 bookidVarchar25主键,id-CategoryidVarchar25外键,类目idNameVarchar80书名LogoVarchar80图标DescnVarchar255描述QtyInt10库存PriceDecimal(10,2)单价 (3)类目表(category) 类目表主要是记录了书籍的类目、描述等信息,如表3

4、-3所示。表4类目表(category)字读名类型长度备注 catidVarchar25主键,id-NameVarchar80类目名LogoVarchar80图标DescnVarchar255描述(4)订单表(order) 订单表主要记录了购买书籍后的记录,包括价格、数量等,如表3-4所示。表5订单表(order)字读名类型长度备注 orderidVarchar32主键自动生成useridint8外键用户表bookidVarchar25外键书籍表lineitemVarchar25订单中的分项quantityint10数量statusint2订单状态p,y,norderdatedate下单时间(

5、5)评论表(comment) 评论表记录了用户对书籍的评论信息,如表3-5所示。表6评论表(comment)字读名类型长度备注 commentidInt8主键autouseridInt8外键用户表BookidVarchar25外键书籍表CommentVarchar400评论内容Commdatetimestamp评论时间份验证功能,同时记录下用户信息以便加入订单: /生成查询用户账号和密码的 SQL 语句 mSqlStr= select * from customer where cno=; mSqlStr=mSqlStr + m_no; mSqlStr=mSqlStr + and cpass=

6、; mSqlStr=mSqlStr + m_password; mSqlStr=mSqlStr + ; if(!customer.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr) AfxMessageBox(customer 表打开失败!); return; if(!customer.IsBOF() /Open all function for user m_customer_no=customer.m_cno; m_customer_name=customer.m_cname; m_customer_phone=customer.m_cphone; m_custom

7、er_add=customer.m_cadd; AfxMessageBox(密码正确,欢迎登录!); EndDialog(IDCANCEL); Cgkcx a; a.DoModal(); else AfxMessageBox(密码输入错误!!); return; 关代码如下: setcustomer c; c.Open(); c.AddNew(); UpdateData(TRUE); if(m_name.IsEmpty()|m_phone.IsEmpty()|m_add. IsEmpty()|m_password.IsEmpty()|m_mima.IsEmpty() MessageBox(请输

8、入全部信息!); return; if(m_password!=m_mima) MessageBox(密码错误,请确认!); return; c.m_cpass=m_password; c.m_cname=m_name; if(m_sex=0)c.m_csex=男; else c.m_csex=女; c.m_cage=m_age; c.m_cphone=m_phone; c.m_cadd=m_add; c.m_cpass=m_password; if(m_sex=0)c.m_csex=男; else c.m_csex=女; c.Update(); c.Requery(); m_customer

9、_zhanghao=c.m_cno; UpdateData(FALSE); m_customer_xingming=m_name; m_customer_mima=m_password; EndDialog(IDCANCEL); Cxxqr a; a.DoModal(); 2)顾客购书:顾客在查询界面中选择想要购买的图书后点击购买可进入购买界面,选择付款方式、送货方式并确认后,相关信息添加到 orders 表中,并利用触发器自动生成订单号。相关代码如下: Csetorders order; setbook book; order.Open(); order.AddNew(); UpdateDa

10、ta(TRUE); if(m_zhifu=0)order.m_opay=网银支付; else order.m_opay=货到付款; if(m_songhuo=0 )order.m_oconvey=快递; else order.m_oconvey=EMS; order.m_bno=m_book_no; order.m_cadd=m_customer_add; order.m_cname=m_customer_name; order.m_cno=m_customer_no; order.m_cphone=m_customer_phone; order.Update(); order.Requery

11、(); m_order_no=order.m_ono; book.Open(); book.Edit(); book.m_bstock-; book.Update(); book.Requery();book.Close(); UpdateData(FALSE); CString temp; temp .Format(购买成功!); AfxMessageBox(temp); EndDialog(IDCANCEL); Cgkcx a; a.DoModal(); 3)管理员添加新书:管理员在管理界面中输入各项信息后点击添加,图示信息即可被添加到 book 表中,相关代码如下: setbook a,

12、b; a.Open(); a.AddNew(); UpdateData(TRUE); if(m_no.IsEmpty()|m_kind.IsEmpty()|m_name.IsEmpty()|m_price.IsEmpty()|m_intro.IsEmpty()|m_dis=0|m_stock=0) MessageBox(请输入全部信息!); return; if(b.IsOpen() b.Close(); if(m_no!=_T() b.m_strFilter.Format(bno=%s,m_no); b.Open(); if(b.m_bno!=_T() MessageBox(已经有这条记录了

13、!); return; a.m_bno=m_no; a.m_bkind=m_kind; a.m_bname=m_name; a.m_bprice=m_price;a.m_bintro=m_intro; a.m_bdis=m_dis;a.m_bstock=m_stock; CString aa,bb; m_list.InsertItem(0,a.m_bno,0); m_list.SetItemText(0,1,a.m_bkind); m_list.SetItemText(0,2,a.m_bname); m_list.SetItemText(0,3,a.m_bprice); m_list.SetI

14、temText(0,4,a.m_bintro); aa.Format(%d,a.m_bdis); m_list.SetItemText(0,5,aa); bb.Format(%d,a.m_bstock); m_list.SetItemText(0,6,bb); a.Update(); a.Requery(); UpdateData(FALSE); a.Close(); 3、4修改功能修改功能使用 Edit()函数,主要应用在管理员对图书信息的修改方面,其中图书编号不可修改,若修改则出现错误提示,相关代码如下: setbook a; a.Open(); a.Edit(); UpdateData(

15、TRUE); if(m_no.IsEmpty() MessageBox( 请选择图书!); return; if(no!=m_no) MessageBox(图书编号不允许修改!); return; m_list.DeleteAllItems(); a.m_bkind=m_kind; a.m_bname=m_name; a.m_bprice=m_price;a.m_bintro=m_intro; a.m_bdis=m_dis;a.m_bstock=m_stock; CString aa,bb; m_list.InsertItem(0,a.m_bno,0); m_list.SetItemText(

16、0,1,a.m_bkind); m_list.SetItemText(0,2,a.m_bname); m_list.SetItemText(0,3,a.m_bprice); m_list.SetItemText(0,4,a.m_bintro); aa.Format(%d,a.m_bdis); m_list.SetItemText(0,5,aa); bb.Format(%d,a.m_bstock); m_list.SetItemText(0,6,bb); a.Update(); a.Requery(); UpdateData(FALSE); a.Close(); 3、5删除功能删除功能使用 De

17、lete()函数,应用在管理员对图书信息的删除及查看订单后发货方面: 1)图书信息删除:管理员查找到要删除的图书后选中,点击删除按钮即可将 book 表中该图书信息删除,相关代码如下: UpdateData(TRUE); int n=m_list.GetSelectionMark(); setbook b;if(m_no.IsEmpty() MessageBox(请选择图书!); return; b.m_strFilter.Format(bno=%s,m_no); b.Open(); if(b.IsEOF() MessageBox(没有此记录!); return; b.Delete(); m_

18、list.DeleteItem(n); b.Close(); 2)发货:管理员查看订单后选中要发送的图书,点击发货即可在 o rders 表中将该订单删除,相关代码如下: int n=m_list.GetSelectionMark(); /创建订单记录集 Csetorders order;if(m_ono.IsEmpty() MessageBox(请选择订单!); return; order.m_strFilter.Format(ono=%s,m_ono); order.Open(); if(order.IsEOF() MessageBox(没有此记录!); Return; while(!or

19、der.IsEOF() order.Delete(); order.MoveNext(); /关闭记录集 order.Close(); m_list.DeleteItem(n); UpdateData(FALSE); 3、6查询功能查询功能应用于顾客购书前对书籍的查询和管理员对书籍的查询,以顾客查询为例,顾客查询可按照图书编号、图书类别、图书 名称、折扣额度等四种方式,其中图书类别和图 书名称都可实现模糊查询,在相关表中查找 到正确信息后显示在列表框内,以图书名称和折 扣额度为例,相关代码如下: UpdateData(TRUE); setbook book; if(m_fangshi!=0&m

20、_fangshi!=1&m_fangshi!=2&m_fangshi!=3) AfxMessageBox(请选择查询类别!); return; /出现问题:不能读取 m_kind,原因:IsEmpty()少了小括号 if(m_fan gshi=1) if(m_name.IsEmpty() AfxMessageBox(请输入图书名称!); return; setbook book; if(book.IsOpen() book.Close(); CString tmp; tmp.Format(%s% ,m_name); m_name=tmp; book.m_strFilter.Format(bna

21、me LIKE %s,m_name); book.Open(); m_list.DeleteAllItems(); int i=0; if(book.IsEOF() MessageBox( 目前暂没有您要的书目!, 提示,MB_OK); return; while(!book.IsEOF() CString aa,bb; m_list.InsertItem(i,book.m_bno,0); m_list.SetItemText(i,1,book.m_bkind); m_list.SetItemText(i,2,book.m_bname); m_list.SetItemText(i,3,book

22、.m_bprice); m_list.SetItemText(i,4,book.m_bintro); aa.Format(%d,book.m_bdis); m_list.SetItemText(i,5 ,aa); bb.Format(%d,book.m_bstock); m_list.SetItemText(i,6,bb); i+; book.MoveNext(); if(m_fan gshi=3) if(m_dis=0) AfxMessageBox(请输入查询内容!); return; if(book.IsOpen() book.Close(); book.m_strFilter.Forma

23、t(bdis=%d,m_dis); book.Open(); m_list.DeleteAllItems(); int i=0; if(book.IsEOF() MessageBox( 目前暂没有您要的书目!, 提示,MB_OK); return; while(!book.IsEOF() CString aa,bb; m_list.InsertItem(i,book.m_bno,0); m_list.SetItemText(i,1,boo k.m_bkind); m_list.SetItemText(i,2,boo k.m_bname); m_list.SetItemText(i,3,boo

24、k.m_bprice); m_list.SetItemText(i,4,boo k.m_bintro); aa.Format(%d,book.m_bdis); m_list.SetItemText(i, 5,aa); bb.Format(%d,book.m_bstock); m_list.SetItemText(i,6,bb); i+; book.MoveNext(); 3、6显示功能在本软件中多次将信息显示在列表框中,以图书信息管理界面中显示图书信息为例,相关代码如下: BOOL Cxsrk:OnInitDialog() CDialog:OnInitDialog(); DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |LVS_EX_HEADERDRAGDROP |LVS_EX_ONECLICKACTIVATE | LVS_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论