1、VC课设实验报告班级:网络Z091学号:094555姓名:孟园园一、 实验目的1. 掌握数据库的基本知识、ODBC程序设计2. 掌握列表框和组合框控件二、 实验内容1. 在VC+6.0中编写程序2. 数据库应用程序基本设计和购物表设计三、 编程序1. 数据库步骤:设置-控制面板-管理工具-数据源-添加-MicroSoft Access Driver(*mdb) 选择(刚建好的数据库)、数据源名(comp)定义的变量:C1set m_set;(C1set自己添加的类,基类为CRecordSet) CListCtrl m_list; CString m_chax;初始化:void CCompany
2、View:OnInitialUpdate() CFormView:OnInitialUpdate(); GetParentFrame()-RecalcLayout(); ResizeParentToFit(); m_list.InsertColumn(0,num); m_list.InsertColumn(1,sex); m_list.InsertColumn(2,age); m_list.InsertColumn(3,name); m_list.SetColumnWidth(0,100); m_list.SetColumnWidth(1,100); m_list.SetColumnWidth
3、(2,100); m_list.SetColumnWidth(3,100); CString sql=select * from 表1; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); int i=0; while(!m_set.IsEOF() m_list.InsertItem(i,m_set.m_num); m_list.SetItemText(i,1,m_set.m_sex); CString str; str.Format(%d,m_set.m_age); m_list.SetItemText(i,2,str); m_list.SetItemText(
4、i,3,m_set.m_name); m_set.MoveNext(); i+; m_set.Close(); “添加”调出新对话框(IDD_DIALOG1) 创建一个新类Cadd dlg,并添加头文件” #include c1set.h” 及成员变量(CString m_num; int m_sex; CString m_wage; int m_age;)void CCompanyView:Onadd() cadd dlg; if(dlg.DoModal()=IDOK) m_set.Open(AFX_DB_USE_DEFAULT_TYPE,NULL); m_set.AddNew(); m_s
5、et.m_num=dlg.m_num2 ; if(dlg.m_sex2=0) m_set.m_sex=男; else m_set.m_sex=女; m_set.m_age=dlg.m_age2 ; m_set.m_name=dlg.m_name2 ; m_set.Update(); m_set.Close(); “删除”void CMy1View:Ondel() int i=m_list.GetSelectionMark(); if(iMessageBox(先选取记录); else CString xnum1; char xnum10; int x=m_list.GetItemText(i,0
6、,xnum,10); xnum1.Format(%s,xnum); CString sql=select * from 表1 where num = + xnum1 + ; / select * from stud where num=10001 m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Delete(); m_set.Close(); “浏览”void CCompanyView:OnScan() m_list.DeleteAllItems(); CString sql=select * from comp; m_set.Open(AFX_D
7、B_USE_DEFAULT_TYPE,sql); int i=0; while(!m_set.IsEOF() m_list.InsertItem(i,m_set.m_num); m_list.SetItemText(i,1,m_set.m_sex); CString str; str.Format(%d,m_set.m_age); m_list.SetItemText(i,2,str); m_list.SetItemText(i,3,m_set.m_wage); m_set.MoveNext(); i+; m_set.Close();“修改”void CMy1View:Onedit() int
8、 i=m_list.GetSelectionMark(); if(iMessageBox(先选取记录); return; cadd dlg; CString xnum1,xnum0; char xnum10; m_list.GetItemText(i,0,xnum,10); xnum1.Format(%s,xnum); dlg.m_num2=xnum1; xnum0=xnum1; m_list.GetItemText(i,1,xnum,10); xnum1.Format(%s,xnum);/ dlg.m_sex2=0; if(xnum1=男) dlg.m_sex2=0; else dlg.m_
9、sex2=1; m_list.GetItemText(i,2,xnum,10); dlg.m_age2=atoi(xnum); m_list.GetItemText(i,3,xnum,10); dlg.m_name2=xnum; /UpdataDate(0); if(dlg.DoModal()!=IDOK) return; CString sql=select * from 表1 where num = + xnum0 + ; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Edit(); m_set.m_age=dlg.m_age2 ; m_se
10、t.m_num =dlg.m_num2 ; m_set.m_name =dlg.m_name2 ; if(dlg.m_sex2=0) m_set.m_sex =男; else m_set.m_sex =女; m_set.Update(); m_set.Close(); “查询”void CMy1View:Oncha() this-UpdateData(1); m_list.DeleteAllItems(); CString sql=select * from 表1 where num = + m_num1 + ; / select * from stud where num=10001 m_s
11、et.Open(AFX_DB_USE_DEFAULT_TYPE,sql); if(m_set.m_num!=m_num1) this-MessageBox(无记录); return; else m_list.InsertItem(0,m_set.m_num); m_list.SetItemText(0,1,m_set.m_sex); CString str; str.Format(%d,m_set.m_age); m_list.SetItemText(0,2,str); m_list.SetItemText(0,3,m_set.m_name); m_set.Close(); 购物表设计添加了一
12、个新类struct GoodsTypechar * type;char * name;int price;goods=日常用品,牙刷,2,日常用品,牙膏,3,日常用品,毛巾,5,日常用品,脸盆,2,日常用品,香皂,4,文具,铅笔,1,文具,圆珠笔,2,文具,钢笔,12,文具,水彩笔,6,文具,签字笔,2,球类,篮球,22,球类,足球,25,球类,羽毛球,62,球类,网球,82,球类,乒乓球,50;添加的变量:int total; int count;CListBox m_isSelGoods; CListBox m_isName; CComboBox m_cmbType; CString m_
13、Type; CString m_Name; CString m_singleprice; CString m_totalprice; int m_count; CString m_SelGoods;1 初始化BOOL CShoppingDlg:OnInitDialog() m_singleprice=单价; m_totalprice=共计:; total=0; count=0; m_cmbType.AddString (日常用品); m_cmbType.AddString (文具); m_cmbType.AddString (球类); m_Type=日常用品; for(int i=0;i5;i
14、+) m_isName.AddString(goodsi.name); UpdateData(0);2 左侧列表框void CShoppingDlg:OnSelchangeSaleList1() UpdateData(); for(int i=0;i15;i+) if(m_Name=goodsi.name ) char x100; sprintf(x,单价:%d元,goodsi.price );/int型转换成字符串型 m_singleprice=x; UpdateData(0); break; 3 组合框 void CShoppingDlg:OnSelchangeSaleType() int
15、 start; int x=m_cmbType.GetCurSel();/组合框中选取当前商品类型 m_cmbType.GetLBText(x,m_Type);/传到列表框中 if(m_Type=日常用品) start=0; else if(m_Type=文具) start=5; else start=10; m_isName.ResetContent();/重置列表框1的内容 for(int i=start;istart+5;i+) m_isName.AddString(goodsi.name);/追加商品名称 4 确定void CShoppingDlg:OnShop() UpdateDat
16、a(); for(int i=0;i15;i+) if(m_Name=goodsi.name) total=total+goodsi.price*m_count; break; m_isSelGoods.AddString(m_Name); char x100; sprintf(x,共计: %d元,total); m_totalprice=x; UpdateData(0);5 取消选择void CShoppingDlg:OnCansel() UpdateData(); for(int i=0;i15;i+) if(m_Name=goodsi.name) total-=goodsi.price*m_count; break; int s=m_isSelGoods.GetCurSel(); m_isSelGoods.DeleteString(s); char x100; sprintf(x,共计: %d元,total); m_totalprice=x; UpdateData(0);6 取消void CShoppingDlg:OnCancel() CDialog:OnCancel();四、 运行结果1.数据库添加listcontrol控件添加“添加”按钮添加“删除”按钮添加“浏览”按钮添加“修改”按钮7 添加“查询”按钮2.购物表设计
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1